Initialize with wrong/not-present ISO should return nil

IMHO, when you create a country with a wrong/not-present ISO code it should return `nil`. Now returns an empty `@data` model that we can check with `valid?` method.

````ruby
  def initialize(country_data)
    @data = country_data.is_a?(Hash) ? country_data : Data[country_data]
  end
````

It would be great if we return `nil` when ISO isn't present. In addition, we can accept downcase and symbols as a parameters. If it's ok for you I can make a pull requests.

Thanks!