Fix handling of invalid escapes.

As @lihaoyi pointed out, Jawn was allowing some invalid escapes
through (such as a \ followed by a literal tab). This commit fixes
the issues, and adds regression tests to ensure we are handling
those cases properly.

This fixes #7.