saving custom location properties
refactor custom location properties as sub-forms; more expressive specs for custom properties (datatype, required, etc.)
select/multiselect on custom properties
framework for arbitrary validation on custom location properties
uniqueness constraints