Complete rewrite of JSON-RPC

A very different JSON-RPC interface based on type classes.
```
Network/Haskoin/Stratum/RPC.hs:31:1: Warning:
    The import of `Data.IntMap.Strict' is redundant
      except perhaps to import instances from `Data.IntMap.Strict'
    To import instances alone, use: import Data.IntMap.Strict()
```