[FIX] Properly raise SearchRequestFailed exception when using the dumb API

Closes #145.
Release 0.3.10
[GEMS] Removed pinning Rake to specific version
Release 0.3.11
Loosen up the dependency specification for Bundler version
[FIX] Added proper Github URL to Rails application template to README

For some users, the `rails new` command cannot accept redirects. Closes #154.
[REFACTORING] Removed mysterious `store_mapping` method and checks, removed `id` and `type` from serialized document

Accidentally closes #147.
[FIX] Fixed an error where Hash#select behaves a bit unexpectedly on Ruby 1.8
Release 0.3.12
[ACTIVEMODEL] Added support for property defaults in Tire::Model::Persistence

In the new implementation of the `property` method, you can define default values for your model attributes:

    class Article
      include Tire::Model::Persistence

      property :title
      property :tags, :default => []
    end

    Article.create title: 'Test'

    Article.all.first.title
    # => 'Test'

    Article.all.first.tags
    # => []
[REFACTORING] Extracted updating item/model instance attributes to dedicated method (`__update_attributes`)
[GEMS] Added Hashr (https://rubygems.org/gems/hashr) as dependency

Hashr allows to easily wrap Hashes in object-like manner:

    config = Hashr.new('foo' => { 'bar' => 'bar' })

    config.foo?     # => true
    config.foo      # => { :bar => 'bar' }

    config.foo.bar? # => true
    config.foo.bar  # => 'bar'

See <https://github.com/svenfuchs/hashr> for more info.
[ACTIVEMODEL] Added the support for casting model properties as Ruby objects

In Tire::Persistence, you define a model property to be casted
as a custom Ruby class instance.

Currently, the implementation expects your class to take a Hash of attributes
on initialization. (There are plans to support custom initialization logic.)

You can cast either single values (see `Author` in the example below),
or collections of values (see `[Comment]`). The behaviour was inspired
by the CouchRest-Model gem.

Also, all strings which conform to the UTC time format are automatically
converted to Time objects.

Also, all Hashes are automatically converted to Hashr [https://rubygems.org/gems/hashr]
instances, allowing easy "dot-style" access to nested hash properties.

Example:

    class Article
      include Tire::Model::Persistence

      validates_presence_of :title, :author

      property :title,        :analyzer => 'snowball'
      property :published_on, :type => 'date'
      property :tags,         :default => [], :analyzer => 'keyword'
      property :author,       :class => Author
      property :comments,     :class => [Comment]
    end

See the test suite for more information.
[DOC] README updates
[FIX][PERSISTENCE] Fixed an error where find by ids was not returning more than 10 results
[PERSISTENCE] Changed that search in persistence returns instances of model not Item
[FIX][PERSISTENCE] Fixed an error with 'false' as default
[FIX] Use currently set `Configuration.url` in `Search::Search#perform` and don't freeze it in initializer

Makes it easier to re-perform a failed search on another server, eg.:

    search = Tire::Search::Search.new('articles')
    # build search ...
    servers = ["http://localhost:9200", "http://localhost:9201"]
    begin
      Tire::Configuration.url servers[0]
      search.perform
    rescue Errno::ECONNREFUSED => e
      Tire::Configuration.url servers[1]
      search.perform
    end
    # do something with results ...

Closes #163.
[CURB][FIX] Fixed an error when GET requests with the Curb client didn't have body
[CURB][FIX] Changed resolve_mode to :ipv4 to avoid Curl::Err::HostResolutionError