Creates BrooklynShutdownHooks

- Moves code from Entities.invokeStopOnShutdown(entity) to 
  BrooklynShutdownHooks
- Deprecates the method in `BrooklynShutdownHooks`, and changes callers
  to use `BrooklynShutdownHooks.invokeStopOnShutdown(entity)`
Refactor BrooklynShutdownHooks to make testable
Adds BrooklynShutdownHooks.invokeTerminateOnShutdown(managementContext)
BrooklynLauncher: register terminateOnShutdown(managementContext)

- and same in BrooklynCampPlatformLauncher
Don’t do important call as parameter to log.debug!

- doing t.get() in parameters to log.debug is asking for trouble!
- someone would likely add if (log.isDebugEnabled()) at some point
  in the future, causing things to fail unexpectedly for a customer
  who configures their logging differently from the default!
Rename reserved word variable in googlemaps.js
Rework gzipping of jsgui resources

Uses an ant gzip task rather than the custom bash script that breaks
the build on Windows.
Hardcode "/tmp" in BCKeys.INSTALL_DIR

Intended to fix issue #1402
support OS_FAMILY and OS_VERSION_REGEX for jclouds
add function for converting to string, and use that for the "cpu fraction" sensor
correct message about ctrl-c to shutdown because if running in background that does not work!
comments on BrooklynNode
more tests and minor fixes for double-string methods, as per code review
Merge pull request #1414 from ahgittin/misc

a few minor fixes/tweaks, including OS_FAMILY support in yaml
Fix MultiLoctionResolver leak

- on resolve, was creating sub-locs; these weren’t being cleaned up
  on unmanage(loc) so BasicLocationRegistry.resolveForPeeking failed
Avoid repeated logging: rest api LocationResource
Avoid repeated logging: BasicLocationRegistry
Nginx rebind: fix for if nginx not running
Adds timeout to Brooklyn shutdown hook
PR #1406 review comments