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?
Yeah, you just throw in a 'js: true' like this:
```ruby
it 'does stuff', js: true do
expect(2 + 2).to eq(4)
end
```
Here's a [Capybara cheat sheet](https://gist.github.com/zhengjia/428105) I found on Google, if  you're unfamiliar with the API.