Add contributing document
Fix merge error
Downgrade South back to 0.7.6

I originally upgraded South to version 0.8.4 because a weird error was
surfacing while I was writing new migrations. I was getting crashes with
the message "AttributeError: 'DateTimeField' object has no attribute
'model'" while adding `DateField` fields to a model. I found a
stackoverflow post (linked below) that mentions this error. There was no
accepted fix other than to upgrade South to 0.8.4. So I did, and this
error went away.

In another context that I believed to be unrelated, the upgrade to South
0.8.4 began causing a crash in a `treemap` migration on a freshly
formatted database: "django.db.utils.ProgrammingError: column
"mapfeature_ptr_id" is in a primary key". This error also turned up on
our continuous integration server once changes were merged into
master. It was eventually discovered that this was caused by the upgrade
of South.

By the grace of the spirit inside the computer, the original error that
prompted this upgrade is no longer replicable. It must have disappeared
while refactoring/squashing migrations.

So, to fix the second, crucial error, downgrade south back to 0.7.6.
Remove undecided_fields from migrator spec

It's not actually used.
Remove unnecessary function call

This should speed up the migrator a little bit because it cuts out a function
call that happens once per field per record per model.
Migrator Improvements

Resolve overriding migrator defaults better - don't require each
override module to specify things they are just importing from the
default. Make sandiego rules clearer.

Make migration event save an incomplete state by default and overwrite it
with a final state.
Move udf creation logic to FOSS repo
Move udf creation/assignment logic into migrator

Explicitly assign UDFs using preferred syntax
Inline function that is only called once

This abstraction might have been useful when writing the module but at
this point it just slows down a loop that can iterate several hundred
thousand times, without greatly improving readability or DRY.
Rename make_contenttype_relics to match others
Add UDF rules for phillytreemap
Merge pull request #1533 from steventlamb/topic/add_philly_udf_migrator_rules

Topic/add philly udf migrator rules
Don't tell the mobile clients to show fields the user can't see

Fixes #1505
Merge pull request #1536 from maurizi/api/omit-fields-without-read-perms

Don't tell the mobile clients to show fields the user can't see
Fix missing photo search on mobile apps

OpenTreeMap/OTM2-tiler@46f6c4 switched from using treePhoto to
mapFeaturePhoto for photo search.  We updated the website search
configuration but neglected to change the mobile search configuration.
Updates to modeling from Rick
Merge pull request #1538 from maurizi/fix-missing-photo-search-on-mobile

Fix missing photo search on mobile apps
Force reload of collection UDFs after saving them in order to retrieve ids

Fixes #1534
Merge pull request #1537 from maurizi/api/return-ids-with-plot-collection-udfs

Reload collection UDFs after saving them to retrieve ids
Merge pull request #1540 from mtedeschi/style-modeling-prototypes

Updates to modeling from Rick