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.
I would very much prefer this stuff happened in feature tests, not controller tests.  We've historically had epic drama with controllers tests and authentication, and they tend to break all over the place if you have things that can only be done by people with certain abilities.