Separate oauthlib integration into its own package (#137)

* Centralize the run_pylint script.
* Use io.open instead of open in setup.py for httplib2_transport
* Move httplib2_transport -> additional_packages/google_auth_httplib2
* Remove unneeded dependencies in google_auth_httplib2
* Update classifiers to note 3.6 support.
* Don't install the HEAD version of google-auth when testing google-auth-httplib2.
* Add google-auth-oauthlib package.
* Remove google.oauth2.oauthlib and google.oauth2.flow and associated tests.
* Make travis run google-auth-oauthlib's tox.
* Specify tox workdir.
diff --git a/scripts/run_pylint.py b/scripts/run_pylint.py
index e9ac7ec..c33a53e 100644
--- a/scripts/run_pylint.py
+++ b/scripts/run_pylint.py
@@ -20,6 +20,7 @@
 
 from __future__ import print_function
 
+import argparse
 import collections
 import copy
 import io
@@ -236,6 +237,12 @@
 
 def main():
     """Script entry point. Lints both sets of files."""
+    parser = argparse.ArgumentParser()
+    parser.add_argument('--library-filesets', nargs='+', default=[])
+    parser.add_argument('--test-filesets', nargs='+', default=[])
+
+    args = parser.parse_args()
+
     default_config = read_config(get_default_config())
     make_rc(default_config, PRODUCTION_RC,
             additions=_PRODUCTION_RC_ADDITIONS,
@@ -243,11 +250,11 @@
     make_rc(default_config, TEST_RC,
             additions=_TEST_RC_ADDITIONS,
             replacements=_TEST_RC_REPLACEMENTS)
-    lint_fileset('google', rc_filename=PRODUCTION_RC,
-                 description='Library')
-    lint_fileset('tests', 'system_tests', rc_filename=TEST_RC,
-                 description='Test')
 
+    lint_fileset(*args.library_filesets, rc_filename=PRODUCTION_RC,
+                 description='Library')
+    lint_fileset(*args.test_filesets, rc_filename=TEST_RC,
+                 description='Test')
 
 if __name__ == '__main__':
     main()
diff --git a/scripts/travis.sh b/scripts/travis.sh
index 9e11de8..5acb4c2 100755
--- a/scripts/travis.sh
+++ b/scripts/travis.sh
@@ -43,7 +43,14 @@
 
 # Run tox for sub-packages.
 if [[ $TOXENV != "docs"  && -z $SYSTEM_TEST ]]; then
-    echo "Running tox for httplib2_transport..."
-    cd httplib2_transport
-    tox
+    echo "Running tox for google_auth_httplib2..."
+    cd additional_packages/google_auth_httplib2
+    # --workdir is specified to avoid path names being too long, which
+    # causes subprocess calls to hit the execve character limit.
+    # See https://github.com/pypa/virtualenv/issues/596
+    tox --workdir ~/.tox-httplib2
+    cd $ROOT
+    echo "Running tox for google_auth_oauthlib..."
+    cd additional_packages/google_auth_oauthlib
+    tox --workdir  ~/.tox-oauthlib
 fi