Persist and rebind feeds

- Adds Feed interface
- Adds abstractEntity.addFeed; if added like that then feed is persisted
- Adds EntityInternal.getFeedSupport(), which has getFeeds(), addFeed(),
  removeFeed() and getAllFeeds()
- AbstractFeed.poller: make private, with getter;
  and make transient
FunctionFeed: test persistence

- and make easier to build a FunctionPollConfig
Test rebinding SshFeed
Persist JmxFeed: testing and transient fields
Experimenting with Feed as EntityAdjunct
Tidy ChefAttributeFeed
Convert Feed to extend EntityAdjunct
Adds IllegalStateExceptionSupplier.EMPTY_EXCEPTION

- don’t create a new instance every time a Maybe.absent is constructed
serialize any objects as json, falling back to an object containing toString and error message if the object is not properly serializable
make js for displaying gui more consistent, using JSON.stringify rather than FormatJSON since the latter doesn't do quotes right, and stringifying activity tags
service failure detector is an enricher, in example
change JSON serialization used by REST so that it looks at fields, ignoring getters, because getters can cause infinite loops,
and fix a couple other places where JSON serialization was dodgy (streams, apidoc)
include UndeclaredThrowable as an exception which is not interesting, and whose nested exception should be preferred for the purpose of informing the user of root causes
use default-to-passwordless behaviour if bind address is set to localhost, and recognize IPv6 loopback device (important for BrooklynNodeIntegrationTest to pass)
add a new --noGlobalBrooklynProperties CLI argument, and update the integration test to use it (means existing brooklyn.properties will not be used by tests or overwritten by BrooklynNode, unless specified otherwise)
temporarily disable the @Catalog annotation on enrichers, since these generate warnings now at runtime (as they are not policies).
this commit can be reverted when enrichers are supported in the catalog.
fix unit test for inferring filename
BROOKLYN-55 install script for brooklyn
support DELETE method in the swagger ui, and hide the response class if it is the default ("ok")
add a single-main-container div around single pages, to support skins which define a different background colour