Properly support PRIORITY in all states

Spec allows PRIORITY to be sent/received in absolutely any state now. This bundle's the changes from #90 in with a bunch of other changes to allow PRIORITY in any state, and fix the tests. After merging this, we should probably bump the advertised version to h2-16 before releasing version 3.0.2 (I'll prepare that patch, as well), since this is a change since drafts 14 and 15.

@mcmanus - mind giving this a quick once-over to see if I missed anything else obvious?