Feature: Resources are now chainable

Resources can now be chained, for example a client may have a users
resource, which may in turn have repos attached to it.

    class Repos < Rapidash::Base
    end

    class Users < Rapidash::Base
      resource :repos
    end

    class Client < Rapidash::Client
      resource :users
    end

    Client.new.users("Gazler").repos! # "users/Gazler/repos"

This has required significant refactoring of the clientable class.  It has
been split into clientable which should only be called by the client, and
resourcable.

The resource method has been modified to persist the client so that it is
passed through the chain until the call! method is called.

The url is also persisted so that any url built up through the chain.

A sensible value `:previous_url` is added to the options hash to facilitate
this.