Garden Management Take 2

It's the same as the previous PR only now with working tests, and more finished functionality.

# What's New
* started adding a user's garden page
![screenshot 2014-11-06 14 25 36](https://cloud.githubusercontent.com/assets/485583/4932212/48b4fb94-6586-11e4-8804-9bb06637244c.png)
* this goes alongside all the relevant angular services, garden controllers, garden crop controllers, and gardencrop mutations.
* guides can be added to gardens:
![screenshot 2014-11-06 14 26 12](https://cloud.githubusercontent.com/assets/485583/4932213/48bfa5f8-6586-11e4-8f45-684a81940e58.png)

# What's missing:
* Adding new gardens!
* Dynamic handling of the garden options. @channel have thoughts on this (will that work?)
* I'm probably missing some things.
* Garden images

# What's next
* Plan an OpenFarm meeting to define an openfarm roadmap.
If it works now, let's just ship it, but this logic probably could've gone into a mutation since there is branched logic going on and a couple of places where an API user might make a formatting error.

It would also keep our API error format consistent, which will be useful for things like front end flash alerts.