Refactoring

Cleaned up code + use builders.

Basically it' a way to prepare the ground to be able to clean method signatures later (many should be changed).

ie from:

    def send_message(recipients, msg_body, subject, sanitize_text=true, attachment=nil, message_timestamp = Time.now)

to:

    def send_message((recipients, msg_body, subject, options)

it could address easy customization in the future (like #218)