Add ability to create/edit custom location data

@twymer
http://manage.dimagi.com/default.asp?147344
QA Passed!
hard to parse this set of changes starting here. want to annotate a bit or point to the commits for context?