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.
* Tests for javascript. How to?
**ALSO**: Take a look at a method I commented out called `wait_for_ajax`. It might be useful if you are doing integration tests where you need to wait for angular to finish an AJAX request or something like that.