TODO
Re #62; split actions into smaller files
Re #62; split up options into smaller files
Re #62; split up types into smaller files
Fix #66; use RankNTypes instead of Rank2Types
Fix #64; remove question mark operator
Fix #63; disable HLint's generalization warnings
Use better example tokens
Replace the client's HTTP manager with a requester

This will allow me to test the client by providing a dummy requester.
For instance, a test client might look like this:

    {-# LANGUAGE OverloadedStrings #-}
    testClient :: Client
    testClient = Client
        { client_accessToken = "testing"
        , client_requester   = \ _request -> return "{ ... }"
        }
Re #59; derive AthleteMeta FromJSON instance using template Haskell
Derive FromJSON instance for AthleteSummary
Derive FromJSON instance for AthleteDetailed
Clean up imports
Fix #59; derive (almost) all FromJSON instance using TH
Clean up enums

I sorted everything by name and made sure all FromJSON instances were
total.
Make sure everything has documentation
Explicitly list all module exports