allow receipt of PRIORITY in idle state

Spec 5.1 Stream States -> idle  "Receiving any frames other than
HEADERS, PUSH_PROMISE or PRIORITY on a stream in this state MUST
be treated as a connection error (Section 5.4.1) of type PROTOCOL_ERROR."

This is useful for creating dependency grouping nodes in the priority
dependency tree - the group nodes are streams that may never opened.

section 5.3.4 "Similarly, streams that are in the "idle" state can be assigned
priority or become a parent of other streams.  This allows for the
creation of a grouping node in the dependency tree, which enables
more flexible expressions of priority.  Idle streams that are made
a parent of another stream are assigned a default priority
(Section 5.3.5)."
Allow PRIORITY in more states and fix tests.

Spec section 5 allows PRIORITY frames to be sent or received in ALL
states as of draft-16, so we need to allow that. Also, the tests had
expected the old behavior, so those needed fixing to expect the new spec
behavior, as well.
Merge pull request #91 from todesschaf/nwgh/idle-priority

Properly support PRIORITY in all states