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
I guess this is just protecting users from their own ignorance of the gem. Depending on the scenario, multiple `optional_data` objects will be used at once, so the `ParameterException` is just a safeguard. We wouldn't want users passing in an array/hash of names & values. 

(`optional_data` objects are used when triggering emails via the API, ie passing Responsys a temporary password in a welcome email. When triggering a message, an array of `optional_data` objects are passed over the API)