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.
Line is too long.<br>'b' is already defined.<br>Use '!==' to compare with 'null'.<br>Missing semicolon.<br>Confusing use of '!'.<br>Expected an assignment or function call and instead saw an expression.<br>Missing 'new' prefix when invoking a constructor.<br>Expected '{' and instead saw 'c'.<br>The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.<br>Expected '{' and instead saw 'for'.<br>Expected '{' and instead saw 'd'.<br>Use '===' to compare with 'null'.<br>Expected '{' and instead saw '('.<br>Too many errors. (85% scanned).