text: Title: `client` parameter in `Consumer` constructor doesn't work as documented 
  Body: ## Precondition
  
  Consider the following consumer:
  ```python
  class GitHub(uplink.Consumer):
  
      @uplink.get("/users/{username}")
      def get_user(self, username):
          """Get a single user."""
  ```
  
  ## Steps to recreate
  
  Instantiate this consumer with a specific client instance:
  ```python
  GitHub(base_url="https://api.github.com/", client=uplink.RequestsClient())
  ```
  
  ## Expected
  
  Consumer instance builds properly and uses the given client instance.
  
  **Note: when the `client` parameter is given a `uplink.clients.interfaces.HttpClientAdapter` subclass, it should instantiate a client instance; otherwise the provided value should be used as given.**
  
  ## Actual
  
  Exception raised on instantiation:
  ```python
  Traceback (most recent call last):
    File "/Users/prkumar/Library/Preferences/PyCharm2017.2/scratches/scratch_1.py", line 11, in <module>
      GitHub(base_url="https://api.github.com/", client=uplink.RequestsClient())
    File "/Users/prkumar/Developer/uplink/uplink/builder.py", line 170, in __init__
      self._build(builder)
    File "/Users/prkumar/Developer/uplink/uplink/builder.py", line 175, in _build
      caller = call_builder.build(self, definition_builder)
    File "/Users/prkumar/Developer/uplink/uplink/builder.py", line 149, in build
      RequestPreparer(self, definition),
    File "/Users/prkumar/Developer/uplink/uplink/builder.py", line 42, in __init__
      if issubclass(self._client, clients.interfaces.HttpClientAdapter):
  TypeError: issubclass() arg 1 must be a class
  ```