Added Russian plurals support

- Locales now classes, based on single interface Locale. Now they have single method for humanization, but in future I'm sure there will be more
- Implemented locales for English and Russian (now with correct handling of Russian plural forms)
- Added more tests
Improve locales hierarchy

As major part of languages doesn't have complex pluralization logic — I've separated code for them to _BasicLocale class, so new locales can be defined simply by inheriting basic class and defining a dict
span_range method + docs
Added Korean to locale.py
range method
docs update
docs update
Merge pull request #15 from hdformat/master

Added Korean to locale.py
Update README.md
Locales in available_locales should be lowercased

As I've made lowercase call in get_locale_by_name — all locales in dict should be lowercased also. 
I think it's better to handle any case in get_locale_by_name, then force developers to use "only correct case"
Merge pull request #16 from cleg/patch-2

Locales in available_locales should be lowercased
return to 100% test coverage
Added Ukrainian Locale

I wasn't sure about locale codes to use, but according to http://www.localeplanet.com/icu/uk-UA/ - locale code is uk_UA
initial take on immutability (Arrow.update)
Merge pull request #17 from cleg/master

Ukrainian locale added
update updated, ha
readme & setup updated for 0.2.1
merge of master into immutable
mutability removed, plural attributes shifted in purpose
readme update