Added support for OAuth 2 for devices
Allows to use another device_uri
remove prints
Update django to 1.6.5
Unmark as invalid when token can be refreshed

It is totally possible that the server (in a bad state) responds temporarily with an "invalid x" and on a retry actually refreshes the token. So we need to reset the flag ´self.invalid´.
Fix a typo.
Merge pull request #29 from kaste/patch-1

Unmark as invalid when token can be refreshed
Handle PKCS12 unicode passwords

The load_pkcs12 can't handle passing unicode objects. Instead, encode the given 
string as bytes before passing to the function.
Merge pull request #31 from jterrace/master

Handle PKCS12 unicode passwords
added missing docstrings
merged with master branch
added an OAuth2 for devices sample script
updated doc
Also check for errno.EPERM to trigger fallback locking mode
Update oauth2client docs.
Use Django 1.5
Merge pull request #22 from methane/djang-1.6.5

Update django to 1.6.5
Merge pull request #32 from simoncadman/master

Also check for errno.EPERM to trigger fallback locking mode
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).