Add support for subprotocols

This should fix Issue #61.  Instead of adding the subprotocols to the RequestHead (which would require an ABI bump), I added a pendingSubprotocols function.  This way the version does not need a major bump.  A

Also, recent versions of quickcheck switched to use tf-random package.  But it looks like the newQCGen function has existed for a while (even before the change to tf-random) so using it should be compatible.