Feature/money refactor

Refactores some money features, solves partly #7 issue mentioned by @camspiers 
Not in the case of an overflow. Php overflows to float.

On Tuesday, 2 September 2014, Mathias Verraes <notifications@github.com>
wrote:

> In src/Money.php:
>
> > @@ -223,7 +242,11 @@ public function subtract(Money $subtrahend)
> >      {
> >          $this->assertSameCurrency($subtrahend);
> >
> > -        return $this->newInstance($this->amount - $subtrahend->amount);
> > +        $amount = $this->amount - $subtrahend->amount;
> > +
> > +        $this->assertInteger($amount);
>
> This can't possibly fail, the subtraction of two integers is an integer.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/mathiasverraes/money/pull/55/files#r16972124>.
>