@dzucconi (cc @dblock): Using a HAL fetcher lib to create models and such

I wrote a wrapper library around [Traverson](https://github.com/basti1302/traverson) that allows you to crawl the HAL links & create Backbone models/collections via a `spooky.new Sections, 'articles[0].sections', (err, sections) ->` interface. It also parses out the _links and _embedded stuff before instantiating the models/collections removing the need for the base collections. For now I've dropped sections and other models to keep things simple.

Still plenty of TODOs, the library is sparse on tests and auth is a big unknown right now. Regardless this gets things wired up.
Using straight Traverson to get the first articles sections you would have to write something like

````coffeescript
api.newRequest().follow('articles', 'articles[0]', 'sections').getResource (err, resource) ->
  new Sections resource._embedded.sections
````

1. I don't know what's up with 'articles', 'articles[0]' — it may be something idiosyncratic to our HAL api structure, or more likely it's just the way Traverson is being explicit about crawling links. Either way, I felt that's unnecessary and we can just infer the parent with `articles[0]`.
2. I can't figure out how to get the array of embedded items from Traverson. Doing 'articles', 'articles[0]', 'sections', 'sections[0]' gives me the first section of the first article—great. However doing 'articles', 'articles[0]', 'sections', 'sections' also gives me the first section of the first article (???) and 'articles', 'articles[0]', 'sections' gives me the root-level json with _links, _embedded etc. So I felt it would be nice to circumvent this boilerplate.
3. I think the dot notation of `articles[0].sections` is nicer than the commas b/c our API won't ever have dots in the keys.