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.
This entire comment is now nonsensical, it used to talk about BigIntegers and when Andreas replaced it all with Coin, the TODO was resolved entirely :) Could you just delete this paragraph?