Added HTTP::Response#to_s method for improved SearchRequestFailed exception messages
[FIX] Do not pass `nil` to logger.log_response [#142]
[FIX] Improved check for nil/blank string in Logger#log_response [#142]

Closes #142.
[FIX] [REFACTORING] Extracted getting the response body to Logger#logged in index methods
[REFACTOR] Clean up passing of type or types to Tire::Search::Search.new [#131]
[FIX] Tighten up the Logger interface and make it easier to pass instances of Logger/Log4r etc.

Example usage:

    require 'fileutils'
    require 'active_support/buffered_logger'

    mylog = ActiveSupport::BufferedLogger.new 'buffered-logger.log'
    mylog.instance_eval do
      alias :write :info
    end

    require 'tire'

    Tire.configure { logger mylog }

Closes #142.
[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