Don't use IOWatcher for offline mode.

Reading multiple offline files could cause the
process to hang.
Added gre type to known parsers.
Handle fragmented gre packets better.

Don't go parsing things that don't exist.
Don't crash when encountering unknown tcp options.

There are two types of tcp options:
  - "A single octet of option-kind"
  - "An octet of option-kind, an octet of option-length, and
     the actual option-data octets."

Only option 0 and 1 are single the single octet type. So we safely
determine the length of unknown options and skip them.
Fix gre payload in fragmented packets.

The gre fragments after the first weren't slicing off
the gre payload properly.
Bump socketwatcher dependency to 0.2.0.

This is backwards compatible with 0.8.