change how REST api errors are handled

Process the json object into an error object if there are errors. This
is more idiomatic for node than to return true | false for the error
argument.
lock down dependencies in package.json

Yes, shrinkwrap exists too, but we should also specify the correct
things in package.json.
Moved WebAPI tests to mocks instead of real requests.

Original integration tests sent out actual emails using credentials from
a config file.  Now they use a mocked http request to SendGrid and we
test that the request is what we would expect.

This is part of #48

Closes #49
Properly handle HTTP errors from sendgrid

Closes #46
Added 0.4 and 0.10 to travis tests
Moved sinon and nock into dev dependencies
Version bump (v0.2.6)
Fixed typo in function header
Implement file_object inline property for web/smtp (CID)

Includes passing tests and README update.

Changed property to "cid" from "inline".
Fix broken SMTP cid implementation
Version Bump (v0.2.7)
Fix typo in README
Removed old testing section because it was outdated and referenced elsewhere
make valid homepage url so npm won't WARN

http://screencast.com/t/86NfqFZf1cD7
Merge pull request #59 from kienpham2000/patch-1

make valid homepage url so npm won't WARN
Stricter versioning of dependencies and no devDependecies in shrinkwrap

Closes #60
.gitignore addition
This is a combination of 2 commits.

Adding tests for smtp. Tests hit real smtp server at the moment
Use stub for integration tests
Remove console.log