Include hashie
Code deletion FTW

Really all we need here is a simple object-like wrapper around the JSON
returned by the Jira API. Using Hashie::Mash may help keep things
simpler.
ResourceAPI, Resource, specs
Tag `end`s
Some exceptions we might need
Raise exceptions instead of returning nil
Factor out new Rest class

To wrap GET and POST in Hash <=> JSON conversion
Factor out #url method; tests and docs
Use Rest to wrap all RestClient calls

Also merge `RestPostFailed` and `RestGetFailed` into `RestCallFailed`
(and use it in the new `delete` method).
Specs for #delete
Adjust ResourceAPI to use Rest

Still not entirely sure what I want to do with this class, or if it's a
dead-end.
Make Project < Hashie::Mash
Allow Issue#key to pass-thru

Also begin thinking about how to implement human-readable field names
for Issues
Add PUT; think about better exception handling
Big messy transition to JSONResource

This commit introduces the JSONResource class, a subclass of
RestClient::Resource that expects request and response data to contain
JSON data parseable as Ruby hashes.

Lots of spec tests are still failing, but the basic functionality
is working, e.g.:

    $ rake pry[my.jira.host]

    > jira.login('admin', 'password')

    > jira.resource['field'].get
    [ {'id' => 'progress', 'name' => 'Progress', ...}, ... ]

    > jira.resource['issue/bogus'].get
    { 'errorMessages' => ["Issue Does Not Exist"], ...}

    > jira.resource['issue/TST-1'].get
    { 'id' => '10000', 'key' => 'TST-1', ...}

    > jira.logout
    true

    > jira.resource['issue/TST-1'].get
    { 'errorMessages' => ["You do not have the permission to see the
    specified issue.", "Login Required"], ...}
Tidy up, add some specs
Specs and stubs for JSONResource
Use sinatra to fake a Jira instance

The recent shift to JSONResource in Jiraby made spec testing more
difficult (the specific REST calls can't be easily stubbed because
RestClient::Resource instances are created on the fly with the `[]`
operator).

Stubbed JSON data is not the ideal way to test this stuff anyway;
something resembling a real Jira instance may be better in the long run.
This commit uses a MockJira sinatra app. Before running spec tests,
start the app with:

    $ rackup spec/mockapp/config.ru

(This will be automated in Rakefile eventually).
Clean up, remove old stuff
Use RakeUp for test server

Also switch to thin instead of webrick (since webrick won't respond to
`kill` for some reason).