Added invalid refresh token detection.

Also added a manual test button for revoking access and refresh tokens.
Added refresh tokens to local storage.

Also fixed an incorrect error check.
SyncFileSystem non-chrome-app fix: Don't access chrome.runtime.id in top scope.

It fails when there is no manifest.json.
Make chrome.runtime.getManifest() return null when no manifest exists.
Fix startup event firing order.

Per HTML5 spec, document.DOMContentLoaded (not window.DOMContentReady) should
fire first, before document.readyState reaches "complete". window.load should
fire last.
Add custom XHR object for Android; rename blob XHR plugin
Add README.md for chrome.identity.

All it has is a link to
http://developer.chrome.com/apps/app_identity.html
add missing strings file
Android CORS: Use two proxies in parallel until we know which one is correct
Replace URL on chrome.app.window.create
Added a dropdown for selecting auth method.

On Android, you can choose from native or web authentication.

Also updated dropdown creation code and updated its use in directoryFinder tests.
Removed refresh tokens.
Made native authentication the Android default.
Added two more API calls to identity tests.

They are file listing via the Drive API and calendar listing via the Calendar API.
Refactored chrome.identity endpoint tests.
Switch cors test hosts to avoid redirect issues
[#22] Don't use CORS XHR proxy if it is not available

This fixes an issue where an XHR instantiated after plugins are loaded, but
before the Android background window is open will fail becuase the
corsXMLHttpRequest object does not yet exist.
Switched endpoints in two tests.

Silly mistake!
chrome.fileSystem: Update tests for writable filesystem entries
chrome.i18n: Rename _locales directory so that it can be included in APK