Spelling support

The new code for spelling almost exclusively resides in `babel/spelling.py`. I made a generic helper structure to be used for any language. I did not want to interfere with the current structure, but it might be more logical to fit it as a sub-module of `babel.numbers`. I also modified `babel/numbers.py` to add support for spelling with the function `spell_number`. 

The original spelling that was implemented in `babel/spelling.py` is Hungarian. I also made a draft implementation of British English. I made a basic test suit for both languages at `tests/test_spelling.py`.

The spelling framework tries to be as generic as possible, but still structured upon my original non-generic implementation of the Hungarian spelling. The Hungarian language in general and the spelling in particular is very complicated, so I hope that the generic helper structure that is suitable for an easy implementation of the Hungarian spelling would be also suitable for all the other languages. Should any modification need arise I am ready to help.