Make it easier to build the docs

Following the instructions will install the latest version of Jekyll,
but the Brooklyn website is not compatible with this. Provide a
`Gemfile` and `Gemfile.lock` with known good versions of Jekyll and
other dependencies, and update the instructions to use `bundler`.
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
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
PR #1406 more review comments

- cleanup BrooklynShutdownHooks exception handling
Merge pull request #1406 from aledsage/feature/shutdownHook-for-ManagementContext

Feature: register shutdown hook for management context
PR #1405 review comments

- Move Entities.isManaged(Location) etc to Locations
- Adds javadoc to LocationPredicates.isChildOf and
  EntityPredicates.isChildOf
- Adds LocationPredicates.isDescendantOf
PR #1405: predicate input @Nullable
Merge pull request #1405 from aledsage/fix/MultiLocation-leak

Fix: MultiLocation leak