Throw checked exception for odd token string lengths (fixes #88)

This introduces the `MalformedTokenStringException`, which can be thrown if a caller tries to parse an odd-length string as an APNs token.