Changed string dissectors' value type to Option[String].

String decoding can fail, so it needs to be an option. Failure itself is
not implemented yet, though.
Updated most of the dependencies.
Handled decoding failure in string dissectors.

Now it yields a Broken-quality note, plus the repr shows bytes that failed
to be decoded.
Split PrimitiveDissectors's guts into several objects, to reduce file size.

Also, made readInt32 private, since it's not a dissector, and replaced
its use within MD2 with sInt32.