Money Parsing

Got the parsing working, but it's a bit hackish.  Thought I'd send it over anyway so you could refine.

A couple things that might be useful in reviewing the changes:
* The reason we weren't able to get it to compile earlier was because the rule was (decimalNumber | moneyParser | rightEqParser), but only moneyParser knew how to deal with asBigDecimal.  I fixed it with some pattern matching and casting, but it's a bit ugly.
* AbstractFeatureTest was casting down to a String, but that didn't make sense anymore since it's sometimes a BigNumber now.  I switched it to return an Object.
* BigNumber(100.00) != BigNumber("100.00"), so I switched the constructors in the tests to match.
* scala.math.BigDecimal doesn't match java.math.BigDecimal, so the comparisons in the java unit tests didn't work.  I couldn't figure out how to construct a scala BigDecimal in java, which is why underlying is scattered about.

Basically we're green but it could use some cleaning up.