Feature/allocate

`allocate` now supports the following form: `$m->allocate(1, 1, 1)` (array can be ommited)

Adds `allocateTo`: Divides the amount to N equal values (the remainder is shared between the first K results)

Example:
``` php
$m = new Money::EUR(15);

// Returns [8, 7]
$m->allocateTo(2);
```

Please merge #55 before, so I can rebase this if needed
I understand why it appeals, but it is really bad practice in php. If we had method overloading, there'd be a case for it. It also has no cognitive overload as `allocate([1, 2])` is just as easy to read and understand as `allocate(1, 2)`.
Unless you have a problem that is better solved with a variadic definition, I'm sticking with arrays.