Used coap.request() function message functional tests.
Merge branch 'master' of https://github.com/samueldotj/pycoap
Handle critical options correctly.

When a coap message is received with not supported options, the receiver can ignore non critical options and should abort and send RESET message to sender if a critical option is present.
Extend Construct library by adding RepeatUntilExclude().

construct.RepeatUntil() includes the last character which caused the steam parsing.
This causes problem because build() always includes a 0 after last option.
By adding RepeatUntilExclude(), this is avoided. This also improves code readability.