Support for the outbound 'validate' function.

This is meant to resolve issue #5.

The generated validate function looks like this:

```coffeescript
#
# Validate Function ------------------------------------------------------
#

#
# This optional function validates the variables that will be passed to the request() function.
# If the validate function returns anything other than null or undefined, the integration will be
# skipped. When a string is returned, it will be revealed to the user as the reason that
# the skip occurred.
#

validate = (vars) ->
  return 'lead.first_name must not be blank' if !vars.lead.first_name? or vars.lead.first_name.toString() == ''
  return 'lead.last_name must not be blank' if !vars.lead.last_name? or vars.lead.last_name.toString() == ''
  return 'lead.email must not be blank' if !vars.lead.email? or vars.lead.email.toString() == ''
  return 'lead.phone_1 must not be blank' if !vars.lead.phone_1? or vars.lead.phone_1.toString() == ''
  return 'lead.phone_2 must not be blank' if !vars.lead.phone_2? or vars.lead.phone_2.toString() == ''
```