Updating the API to make it easier to get verified JWT's. (#3)

Now decode and verify has been logically split up into separate stages that can be
composed together.
Accidental typo removed. (#3)
Use a guard instead. (#3)

It looks much cleaner.
We don't parse everthing but need to verify against everything. (#3)

Lucky we had test cases to catch this.
Merged in robertmassaioli/haskell-jwt/issue-3-unverified-to-verified (pull request #2)

Updating the API to make it easier to get verified JWT's. (#3)
Remove tasty-hspec dependency as it is not used
Add a test for `verify`

This currently matches the implementation of the `decodeAndVerifySignature`
function but the test ensures that the contract remains intact over time.
Add doctest comment for
Use bind in the doctest example for decodeAndVerifySignature
Use record pattern in signature :: JWT r -> Maybe Signature
Add Haddock section on the various decode/verify functions that are exported
Rev version to 0.3.0
Refactor the failing encoding tests to avoid field ordering issues (fixes #2)

The failing tests raised in
https://bitbucket.org/ssaasen/haskell-jwt/issue/2/tests-failing were
consistently failing on Linux using the JWT encoding produced on my Mac due
differences in the order of the encoded name/value pairs.

Fields in JSON objects are unordered name/value pairs
(http://www.ietf.org/rfc/rfc4627.txt). Therefore the base64 encoded JSON
representation is not necessarily stable as the header and potentially the
claims contain more than one name/value pair.

To sidestep the issue the tests are now not relying on the String
representation of the JWTs whilst still ensuring the intended behaviour.
Merge branch 'issue/2-test-failing'
#5: Update upper boundary on base from 4.7 to 4.8
Rev version to 0.4.0
Update jwt.cabal for the changes in network 2.6

In network 2.6, the Network.URI module was moved to a new package,
network-uri.

Thanks to Jeremy Shaw for reporting this.
Rev version to 0.4.1