Check for extensions properly in hello messages. Closes #18.

- Keep track of the number of remaining bytes in hello message
  itself rather than looking in the buffer which may contain bytes
  from other messages. If bytes remain after parsing the main
  hello message, then check for extensions.
- Thanks to @Ayms and Tom Mitchell!