iOS 8 raises an exception for reentrant parsing.

The behaviour around re-entrant parsing has changed with iOS 8. As a
result, parsing should be done synchronously to avoid raising the
exception.

For more information read https://devforums.apple.com/message/1028271
Merge pull request #27 from squarefrog/master

iOS 8 raises an exception for reentrant parsing.