Start laying the groundwork for the Garden Model

This was one of them "a whole lot needs to change before I can push" PRs.

## What's Changed
* Initial mutation for creating a garden.
* Users get a garden on signing up.
* Mutation for editing a user. I don't think I'm doing this right - might be unnecessary with Devise?
* Moved a _whole_ lot of JS around. This is to prevent duplicate JS being loaded into different pages.
* Made everything on the page one Angular app, this will avoid a situation where we'll have different apps on the same page. The focus is now on the controller.
* Moved a _whole_ lot of CSS around. This is to prevent duplicate CSS being loaded into different views. This is still not ideal though.
* Added a location angular directive (essentially a typeahead wrapper).
* Change get Guide ID JS to also accept slugs.

## What's next
* Garden management.
I guess you don't actually need to name this function since its just getting passed in as a function arg. We can fix that later.