Performance improvements

With these changes, a real-world script to parse 50,000 phone numbers went from
taking 150 seconds on my machine down to 100 seconds, i.e. about 50% speed
increase.
Changes phone_data array to a hash

Change makes it possible to use direct Hash lookups instead of Array.find to get
the relevant country's data, which is quicker for lookup.
Merge pull request #23 from HerbCSO/improve-performance

Performance improvements
put all analzing to module, cleaned code, rewrited comments
more simplifications
Merge pull request #24 from daddyz/refactoring

Refactoring
bumped version
switch to binread for marshalled data
adding possible type support
adding possible type support examples
removing redundant example
Merge pull request #25 from inincaas/read_binary

switch to binread for marshalled data
Merge pull request #26 from dejanstrbac/master

Possible types definition in the validator
updated readme, added description about tests
changed types validation
Fix #27
Testcase for #27
Merge pull request #28 from huntrax11/master

Fix #27
updated data
bumped version