Autodetect synced optional fields

No need to pass data_key: nil, if column is missing then values
will not be assigned.
Merge pull request #8 from BookingSync/autodetect-synced-optional-fields

Autodetect synced optional fields
Add Mappers modules for making attributes conversion easier

When more processing is needed and blocks given to local attributes
become to long Mappers can be used. It's a module which is then
included in the remote object.

class Client < ActiveRecord::Base
  module SyncedMapper
    def first_name
      name.split(' ').first
    end

    def last_name
      name.split(' ').last
    end
  end

  synced mapper: SyncedMapper,
    local_attributes: %w(first_name last_name)
end