Several improvements to the converter and validation.

- Updated Trove classifiers.

- Moved code to GitHub.

- Changed validation to raise custom validation errors, since the upstream
  code looks at the doc string of the exception instead of the first argument.

- Improved converter to

  * Ensure proper precision of decimal after initial parsing.

  * Format the value to the proper precision.

- Changed "precision" field in `ICurrency` interface to be a choice, so that
  UIs generate nicely.

- Cleaned up code a little bit.