define Active Record Store accessors in a module

Allow store accessors to be overrided like other attribute methods,
e.g.:

    class User < ActiveRecord::Base
      store :settings, accessors: [ :color, :homepage ], coder: JSON

      def color
        super || 'red'
      end
    end
remove trailing whitespace from engines guide
fix the example code in the engines guide. closes #8583.
Merge pull request #9247 from lest/store-module

define Active Record Store accessors in a module
Merge pull request #9250 from senny/8583_fix_engines_documentation_example_code

fix example code in engines guide
test for regression from a712e08ebe21f6d8653a0e6602df2e0f5d40d9ca
reverted back our changes and added in the new define_method
Merge pull request #9206 from ranjaykrishna/use_define_method

Use define method instead of class_eval