Location: store state in datagrid

- and adds reconstruct() for AbstractEntity, AbstractLocation and
  AbstractPolicy
- declare location.name as private (so use getDisplayName() and 
  setDisplayName() everywhere)
- allow ConfigBag to be backed by a datagrid map