Coinops

See [this thread](https://groups.google.com/d/msg/bitcoinj/2saptvKy51o/09CEEmUs1qQJ) for background.  This request adds the discussed operators, plus some others.  Also makes it possible to pass a negative value to `parseCoin()` without raising an exception.  The maximum value check is now done on the object's absolute monetary value to catch negative values with excessive magnitude, and the check is now in the constructor to catch excessive values passed to `valueOf()`.

Question of style: in the javadoc comments the word "Bitcoin" is capitalized when used as a unit of measurement.  Internet sources (some more authoritative than others) seem to indicate currency units are not to be capitalized, for example:
* [english.stackexchange.com](http://english.stackexchange.com/questions/26378/case-of-usd-united-states-dollar-or-united-states-dollar)
* [English Language Learners](http://ell.stackexchange.com/questions/17517/why-arent-currency-names-capitalized)
* [Wikipedia Style Guideline](http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Numismatics/Style#Article_titles)
* [answers.yahoo.com](https://answers.yahoo.com/question/index?qid=20070924080401AAlXxVZ)

Ought this to be changed so that "bitcoin" is not capitalized when used as a unit of measurement?  For example, is the following correct:

    A satoshi is the smallest unit that can be transferred. 100 million of them fit into a Bitcoin.
The only place I use it is in the tests, so losing it doesn't cause me any problem.  I agree with renaming it since there is a `SATOSHI` and one is confusing since it might be one coin.  I changed the name.