Disable pre/post prepare hooks during upgrade

Now with event based hooks we can temporarily disable them. This save
unnecessary runs, as well as some time and confusion during upgrade.
Fix setPaused for iOS
Improve chrome.sockets.tcp throughput for Android
Improve chrome.sockets.tcp throughput for iOS
Merge pull request #392 from oahziur/sockets-receive-fix

More fixes for sockets.tcp
Move cca-manifest-logic to top-level to fix `npm install` not finding 0.0.4-dev
Update autotest for inline scripts now that we do execute them
Load manual tests in background page rather than foreground window.

This allows them to listen to lifecycle events (e.g. onAlarm) before the
event fires.
Spec: Add a manual test to show a notification after an alarm
Have window.create() call window.show().

E.g. if a notification is fired the app will be in the background, but then
that notification calls window.create(), we want the activity to show.
chrome.alarms: Make it more robust and prevent onLaunched when onAlarm is the cause of the Activity starting up

More robust by:
- Eliminated race condition with alarms firing during start-up
- Don't use evaluateJavaScript()
- Remove alarm entry before calling callback (exceptions caused alarms to re-fire)
Added getAccounts on Android.

Also updated the README, noting a divergence from the official spec.
Simplify chrome.alarms's java code
Refactor notifications to follow same paradigm as Alarms on Android

* Use a CallbackContext for native->JS
* Prevent onLaunched from being fired due to notfication events
Remove debug log (whoops)