Added support for OAuth 2 for devices
Allows to use another device_uri
remove prints
added missing docstrings
merged with master branch
added an OAuth2 for devices sample script
updated doc
Merge OAuth2ForDevices changes into master.

Conflicts:
	docs/epy/class-tree.html
	docs/epy/help.html
	docs/epy/identifier-index.html
	docs/epy/module-tree.html
	docs/epy/oauth2client-module.html
	docs/epy/oauth2client-pysrc.html
	docs/epy/oauth2client.anyjson-module.html
	docs/epy/oauth2client.anyjson-pysrc.html
	docs/epy/oauth2client.appengine-module.html
	docs/epy/oauth2client.appengine-pysrc.html
	docs/epy/oauth2client.appengine.AppAssertionCredentials-class.html
	docs/epy/oauth2client.appengine.CredentialsModel-class.html
	docs/epy/oauth2client.appengine.CredentialsNDBModel-class.html
	docs/epy/oauth2client.appengine.CredentialsNDBProperty-class.html
	docs/epy/oauth2client.appengine.CredentialsProperty-class.html
	docs/epy/oauth2client.appengine.FlowNDBProperty-class.html
	docs/epy/oauth2client.appengine.FlowProperty-class.html
	docs/epy/oauth2client.appengine.InvalidClientSecretsError-class.html
	docs/epy/oauth2client.appengine.InvalidXsrfTokenError-class.html
	docs/epy/oauth2client.appengine.OAuth2Decorator-class.html
	docs/epy/oauth2client.appengine.OAuth2DecoratorFromClientSecrets-class.html
	docs/epy/oauth2client.appengine.SiteXsrfSecretKey-class.html
	docs/epy/oauth2client.appengine.SiteXsrfSecretKeyNDB-class.html
	docs/epy/oauth2client.appengine.StorageByKeyName-class.html
	docs/epy/oauth2client.client-module.html
	docs/epy/oauth2client.client-pysrc.html
	docs/epy/oauth2client.client.AccessTokenCredentials-class.html
	docs/epy/oauth2client.client.AccessTokenCredentialsError-class.html
	docs/epy/oauth2client.client.AccessTokenRefreshError-class.html
	docs/epy/oauth2client.client.ApplicationDefaultCredentialsError-class.html
	docs/epy/oauth2client.client.AssertionCredentials-class.html
	docs/epy/oauth2client.client.Credentials-class.html
	docs/epy/oauth2client.client.Error-class.html
	docs/epy/oauth2client.client.Flow-class.html
	docs/epy/oauth2client.client.FlowExchangeError-class.html
	docs/epy/oauth2client.client.GoogleCredentials-class.html
	docs/epy/oauth2client.client.MemoryCache-class.html
	docs/epy/oauth2client.client.NonAsciiHeaderError-class.html
	docs/epy/oauth2client.client.OAuth2Credentials-class.html
	docs/epy/oauth2client.client.OAuth2WebServerFlow-class.html
	docs/epy/oauth2client.client.SignedJwtAssertionCredentials-class.html
	docs/epy/oauth2client.client.Storage-class.html
	docs/epy/oauth2client.client.TokenRevokeError-class.html
	docs/epy/oauth2client.client.UnknownClientSecretsFlowError-class.html
	docs/epy/oauth2client.client.VerifyJwtTokenError-class.html
	docs/epy/oauth2client.clientsecrets-module.html
	docs/epy/oauth2client.clientsecrets-pysrc.html
	docs/epy/oauth2client.clientsecrets.Error-class.html
	docs/epy/oauth2client.clientsecrets.InvalidClientSecretsError-class.html
	docs/epy/oauth2client.crypt-module.html
	docs/epy/oauth2client.crypt-pysrc.html
	docs/epy/oauth2client.crypt.AppIdentityError-class.html
	docs/epy/oauth2client.django_orm-module.html
	docs/epy/oauth2client.django_orm-pysrc.html
	docs/epy/oauth2client.django_orm.CredentialsField-class.html
	docs/epy/oauth2client.django_orm.FlowField-class.html
	docs/epy/oauth2client.django_orm.Storage-class.html
	docs/epy/oauth2client.file-module.html
	docs/epy/oauth2client.file-pysrc.html
	docs/epy/oauth2client.file.CredentialsFileSymbolicLinkError-class.html
	docs/epy/oauth2client.file.Storage-class.html
	docs/epy/oauth2client.gce-module.html
	docs/epy/oauth2client.gce-pysrc.html
	docs/epy/oauth2client.gce.AppAssertionCredentials-class.html
	docs/epy/oauth2client.keyring_storage-module.html
	docs/epy/oauth2client.keyring_storage-pysrc.html
	docs/epy/oauth2client.keyring_storage.Storage-class.html
	docs/epy/oauth2client.locked_file-module.html
	docs/epy/oauth2client.locked_file-pysrc.html
	docs/epy/oauth2client.locked_file.AlreadyLockedException-class.html
	docs/epy/oauth2client.locked_file.CredentialsFileSymbolicLinkError-class.html
	docs/epy/oauth2client.locked_file.LockedFile-class.html
	docs/epy/oauth2client.locked_file._Opener-class.html
	docs/epy/oauth2client.locked_file._PosixOpener-class.html
	docs/epy/oauth2client.multistore_file-module.html
	docs/epy/oauth2client.multistore_file-pysrc.html
	docs/epy/oauth2client.multistore_file.Error-class.html
	docs/epy/oauth2client.multistore_file.NewerCredentialStoreError-class.html
	docs/epy/oauth2client.multistore_file._MultiStore-class.html
	docs/epy/oauth2client.multistore_file._MultiStore._Storage-class.html
	docs/epy/oauth2client.old_run-module.html
	docs/epy/oauth2client.old_run-pysrc.html
	docs/epy/oauth2client.service_account-module.html
	docs/epy/oauth2client.service_account-pysrc.html
	docs/epy/oauth2client.service_account._ServiceAccountCredentials-class.html
	docs/epy/oauth2client.tools-module.html
	docs/epy/oauth2client.tools-pysrc.html
	docs/epy/oauth2client.tools.ClientRedirectHandler-class.html
	docs/epy/oauth2client.tools.ClientRedirectServer-class.html
	docs/epy/oauth2client.util-module.html
	docs/epy/oauth2client.util-pysrc.html
	docs/epy/oauth2client.xsrfutil-module.html
	docs/epy/oauth2client.xsrfutil-pysrc.html
	docs/epy/redirect.html
Pull device flow state out of the Flow object.

The initial iteration of the OAuth2ForDevices flow stored intermediate state
on the flow object itself. Rather than attach it to the flow, this change
pulls it out into its own separate object. In addition to making the Flow
object reusable, this also makes it easy to serialize and deserialize this
state, so that (for example) the flow could begin in one python process and
finish in another (even on another machine).
Merge OAuth2ForDevices implementation with master.

This closes #3.
Update docs.
Fix a small merge issue.

A previous cleanup switched `from collections import namedtuple` to just
`import collections`, so this needed fixed up.
Merge branch 'master' into python3

Conflicts:
	oauth2client/client.py