Better error handling in Credentials.from_json.

I dropped an over-broad `except` by only catching errors that
`datetime.datetime.strptime` would throw -- forgetting that it might error
differently if one of its arguments were an unexpected type.

Fix and add a test.
Version 1.3.1.

Updates version and docs.