Merge pull request #1 from purplecabbage/master

Renamed Metro
Fixed missing renames
Added more FileProxy functions
Update lib/windows8/plugin/windows8/CaptureProxy.js
remove Jscex from FileProxy.js
Add FileTransferProxy.js
Fixed bug in FileProxy.js
Added/removed semicolons
Fixed error in a previous commit
Fixed missing metro-windows8 rename
Fixed bugs in platform.js and FileProxy.js
Fixed bugs in CameraProxy, CaptureProxy, FileTransferProxy
Make the starting callbackId random rather than always 0 to avoid collisions.
[common] [CB-1462] bad logic in geo watchPosition. changed internal timeout var to object to be able to pass-by-reference with it to fix issue.
[CB-1487] license header audit in js
[common] [build] added a stripheader helper function for builder, stripping out the license headers from each individual module.
Change onSubscribe & onUnsubscribe into a single onHasSubscribersChange.

- This better captures the use-case of the callback and reduces code.
- Updates all affected usages. Github search of plugins repo shows no
  usages to update.
Separate Channel into sticky and non-sticky versions.

- Removes subscribeOnce and updates all usages to use subscribe().
  Sticky channels always subscribe once, non-sticky ones have no use
  for it.
- Removes unused features: returning guids from subscribe, collecting
  return values of called handlers, the enabled flag
Revert "Revert "Make circular require()'s and exception.""

This reverts commit 2aa46aa0eef2ba641cf91793735152d7fb5b6998.
Add navigator.connection and deprecate navigator.network.connection.

Fixes issue: https://issues.apache.org/jira/browse/CB-1368

This involved:
  - Adding a util for creating a property getter (Android 2.1 doesn't
    support Object.defineProperty)
  - Adding a way to deprecate a namespace via builder.js (and
    deprecating navigator.network with it
  - Subclassing Navigator so that properties can be set on it.