Harvest photos

There's a lot here.

Mostly, I started with copying stuff from Plantings to Harvests. The Photos model has been modified to have m2m's for both plantings and harvests, and the photos controller has been modified so it expects parameters like this:
> ?type=planting&id=3
>  ?type=harvest&id=4

not like this:

>    ?planting_id=3

It has a list of valid types (right now just harvest and planting, but I'll work on garden soon), and it checks that all  input is valid. Then it marks which Thing the photo belongs to. It parses which type of Thing that is from the type parameter rather than having if/elsif statements that need to be updated every time the valid type list is updated.

Most of the rest should be pretty self-explanatory, given the old code shows in the diff. I did add expand the tests on both photos and harvests and update the planting photo tests to include the new parameter list.
It just occurs to me that we should probably have a test for the following situation:

You have a photo which is attached to both a planting and a harvest.  Then you delete the harvest.  Is the photo still attached to the planting? (It should be.)