@dzucconi: Wire up saving an article

This wires it up so that you can save (POST/PUT) articles. There's some odd bootstrapping code necessary to work with HAL here that I'll comment on inline. I haven't written tests for it yet b/c I think it's something that can be extracted into halbone, but I'd rather get this up first.

![image](https://cloud.githubusercontent.com/assets/555859/4499528/c78394c6-4a83-11e4-8230-8ffde6c90a3b.png)
Granted this `@init` bootstrap code is a little contrived. However this is an example of using the HAL way to bootstrap a model server->client, while attempting to reduce extraneous HTTP requests.

The way I see it we could go two ways—make things simpler or with less http requests.

#### 1. Simpler

We could just re-use the `spooky.get Article...` code for both new & existing articles, dropping this `if` `else`. This simplifies the code at the expense of extra HTTP requests. However, while we're at it let's take a look at the HTTP requests we'd be making to save an existing article this way:

**SERVER:** GET /api -> GET /api/articles/:id -> **CLIENT:** GET /api -> GET /api/article/:id -> POST /api/artcles/:id

vs. hard coding urls:

**SERVER:** GET /api/articles/:id -> **CLIENT** POST /api/articles

#### 2. Less HTTP Requests

Currently we're already saving extra http requests for an existing article by constructing it's url from bootstrapped data. However we're still making extra requests for the new article b/c we're crawling the HAL links to find it's url. This still introduces unnecessary requests...

**SERVER:** nothing -> **CLIENT:** -> GET /api -> GET /api/articles -> POST /api/artcles

vs.

**SERVER**: nothing -> CLIENT -> POST /api/articles

To avoid this we could crawl the urls on the server, add [url caching](https://github.com/basti1302/traverson#caching) to Traverson, and bootstrap the url to client.

Hopefully this is an interesting thought experiment.

In the case of a server-side only application HAL seems to be more straight forward b/c there's no need to pass data/urls to the client, and you can use a built-in-HAL client's caching. However, as you can see here, it gets a little stickier when sharing state between the client and server.