Some improvements were made.

I'm against this title, but...

As I've commented at #2, we shouldn't care about how big the number is (yep, there's a limit, but not a small one.).

O.K, this PR proposes:
- An abstraction of how number spelling is done (we can give a speller to `Speak\Number`) or even set it by using `setSpeller` (`SpellerAwareInterface`, `SpellerAwareTrait`);
- A interface which allows us to implement the spelling for other languages: `NumberSpellingInterface`;
- Tests for the current code;
- Making the instance of `Speak\Number` reusable to spell others numbers in runtime;
- Adding exceptions NumberIsTooLargeException and NegativeNotAllowedException to be more specific on what did ocurred when any was thrown.

That's all for now.
:beers: