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
BROOKLYN-55 install script for brooklyn
Adds persister.loadMementoRawData

- Refactors BrooklynMementoPersisterToObjectStore to remove duplication
- Adds BrooklynMementoRawData, which has the contents of the raw
  blobs/files for persistence (rather than deserialised mementos)
- Adds BrooklynMementoPersisterToObjectStore.loadMementoRawData
- Adds BrooklynMementoPersisterToObjectStore.checkpoint(BrooklynMementoRawData)
copy-state CLI: use BrooklynMementoRawData
CLI copy-state supports uploading to any location

- previously could only copy to the filesystem, rather than to
  any object store
Transformations of persisted state
CLI copy-state: support transformations
Transformations of BrooklynMemento (persisted state)
Fixed install issues on Ubuntu and other non-root access images
Add version option to install script
Add option to generate password
Fix minor issues with curl redirects and check SSH for fast fail
Fix typos in SSH commands and move all configuration defaults to single location