Errors handling

Team,

Changed the member handling messages to make sure we perform a present? check before doing any actions.

I also changed the i18n messages to make their key more explicit because the key is now part of the hash returned in case of failure.

Example if a subscribe call is made on a user that does not belong to the list:
`{:status=>"failure", :error=>{:http_status_code=>"", :code=>"record_not_found", :message=>"The member has not been found in the list"}}`

Any comments appreciated 

Thank you
would this be any better?  I use `merge_list_members` instead of `retrieve_list_members`, although the ListMergeRules prevent any modification/addition to lists
```
def present?(list)
  record = RecordData.new([{ EMAIL_ADDRESS_: @email, EMAIL_PERMISSION_STATUS_: nil }])
  response = @client.merge_list_members(list, record, ListMergeRule.new(insertOnNoMatch: false, updateOnMatch: "NO_UPDATE"))
  response[:data].last[:result][:error_message] == "Record 0 = NOT UPDATED PER MERGE RULE. MATCHES EXISTING RECIPIENT."
end
```

`merge_list_members` returns "Record 0 = NOT UPDATED PER MERGE RULE. MATCHES EXISTING RECIPIENT." if existing 
and returns "Record 0 = NO MATCH - BUT NOT INSERTED PER MERGE RULE." if not existing