Return failures from AsyncParser where appropriate.

Tests that Parser and AsyncParser agree on the success of parsing.
TODO: Fails on the "0e is invalid" property.
Make sure async parsing ends at a valid stopping point.

This commit improves the logic used once finish() has been called
on an async parser. Thanks to Ross A. Baker for creating the test
case.

Fixes #16.
Merge pull request #17 from non/bug/incomplete-async-fix

Bug/incomplete async fix