Feature: storage (prep for using datagrid)

Stores entity attributes/config/children/members/groups via a new BrooklynStorage interface. Plan is to switch out underlying storage for a datagrid. Currently it's just in-memory map of maps.

@pveentjer and @ahgittin - would particularly appreciate you looking over this.

This is work-in-progress. Still need to:
* Change AbstractGroupImpl._members to use it
* Think about how a location's state will be persisted in the datagrid
* Think about what to do with policies
* Wire up a real datagrid (that also persists to disk or DB)
* Test stopping and restarting the brooklyn node!