Add MIT LICENSE
Use a binary for the key and an iolist for the handshake message
Modify type specs and functions to avoid Dialyzer warnings
Set key when creating the state record and remove dialyzer warnings
Merge pull request #9 from jcomellas/jc-dialyzer-cleanup

Remove dialyzer warnings
Squashed commit of the following:

commit 6c5d9a0149aae1aed1752a4d08a8d65988a436ca
Author: sanmiguel <michael.coles@erlang-solutions.com>
Date:   Tue Apr 9 17:25:57 2013 -0400

    Do the TODO: remove the unnecessary catch-all

commit bd121ad045908d2d7a86f126f54cb288520d451b
Author: sanmiguel <michael.coles@erlang-solutions.com>
Date:   Tue Apr 9 13:24:18 2013 -0400

    Change websocket_req:new/1 to new/11

    move a couple of util funs into websocket_req

commit 6445d8e3c6fac23786bb12913d7c262bf9799cb3
Author: sanmiguel <michael.coles@erlang-solutions.com>
Date:   Mon Apr 8 19:09:20 2013 -0400

    Remove direct references to #websocket_req{} and hide it fully inside an accessor module

commit 5d21c63346d38b1295f95d4e0b1b26c5abae2eec
Author: sanmiguel <michael.coles@erlang-solutions.com>
Date:   Mon Apr 8 17:06:19 2013 -0400

    Make websocket_req() an opaque type

commit d18500df9961f5e7b6b0e072d79f99b23988b341
Author: sanmiguel <michael.coles@erlang-solutions.com>
Date:   Mon Apr 8 16:39:11 2013 -0400

    Include an accessor module for the #websocket_req{}

    websocket_req.erl was created by a pair of fairly trivial substitutions
    on the list of fields in the record def of #websocket_req{}. This should
    be automated per-build (with dynarec?)

commit d2d2aede4b394834c660e4af0a93869e383412d2
Author: sanmiguel <michael.coles@erlang-solutions.com>
Date:   Mon Apr 8 15:30:53 2013 -0400

    ConnState is only provided for reading from: do not return it

commit 17fb34abed411847a3850e45c967a31bb033797a
Author: sanmiguel <michael.coles@erlang-solutions.com>
Date:   Mon Apr 8 11:57:37 2013 -0400

    Pass our own state around as well as the behaviours