Added Formatting with :precision option

-Added functionality
-Cleaned up formatting a little bit
-Fixed bug in money.rb that doesn't return a special decimal mark if currency.decimal_places == 0 and infinite_precision is on. This made me wonder if more tests might be needed
-Added appropriate tests