Merge pull request #47 from otaviojava/master

slight improvement in performance and save memory
BuildableCurrencyUnit should be Serializable

I believe that `BuildableCurrencyUnit` is intended to be `Serializable`
because `Money` is `Serializable` and has a field named currency which
is a `CurrencyUnit`. So in order for `Money` to be `Serializable` all
fields have to be `Serializable` as well. The other option would be to
mark `CurrencyUnit` as `Serializable`.

 * make `BuildableCurrencyUnit` `Serializable`
 * add test that ensures `BuildableCurrencyUnit` is `Serializable`
Merge pull request #48 from marschall/missing-serializable

BuildableCurrencyUnit made Serializable.
Delete Unused Classes

The classes
`org.javamoney.moneta.convert.DefaultMonetaryConversionsSingletonSpi`
and `org.javamoney.moneta.convert.TestMonetaryConversionSingletonSpi`
are not referenced anywhere and are not tests either. They can be
deleted and the number of tests stays the same and no tests fail.
Merge pull request #49 from marschall/delete-classes

Delete Unused Classes
Fix Compiler Warnings

The project contains several compiler warnings.

 * remove unused imports
 * remove unused methods
Merge pull request #50 from marschall/compiler-warnings

Fix Compiler Warnings
Used Math class in other locations within FastMoney.
Minor changes.
Tests for FastMoney overflows

Tests for various edge cases in FastMoney:

 * `FastMoney#multiply(Number)` looks broken in
   #cc64343967f8aa38002513f1e99f6ff905660f72
 * `FastMoney#divide(Number)` throws a `ArithmeticException` even if the
    result would fit into FastMoney
 * `FastMoney#multiply(Number)` used `#doubleValue()` which lost precision
   fixed by #cc64343967f8aa38002513f1e99f6ff905660f72
 * tests for cases that would have silently overflown before
   #cc64343967f8aa38002513f1e99f6ff905660f72
 * `FastMoneymultiply(long)` did not use the exact method from `Math`
   and was silently overflowing

This commit contains two failing tests points 1 and 2 above.
Merge pull request #51 from marschall/overflow-tests

Tests for various edge cases in FastMoney:, provided by marschall.
Make Inner Classes in ConvertNumberValue Static

The inner classes in `ConvertNumberValue` can all be marked `static`
this saves a pointer to the outer `ConvertNumberValue` per instance.
Merge pull request #53 from marschall/static-inner-classes

Make Inner Classes in ConvertNumberValue Static
Fix a Typo ConvertBigDecimal#DEFAULT

Fix a typo in `org.javamoney.moneta.spi.ConvertBigDecimal#DEFAULT`.
Merge pull request #54 from marschall/ConvertBigDecimal-typo

Fix a Typo ConvertBigDecimal#DEFAULT
fixed JAVAMONEY-80
reformatted file according to checkstyle rules
Merge pull request #55 from cm-rudolph/JAVAMONEY-80

fixed JAVAMONEY-80