Delete remote objects after tests.

My ad account is getting cluttered with integration test junk. There are
two problems leading to this:

 1. The remote test objects aren't consistently deleted at the end of
    tests.

 2. Some of the deletions are handled at the end of the test, rather than
    in tearDown, so they don't happen if the test fails.

This commit solves problem by keeping a list of `self.remote_objects` which
is deleted automatically in `FacebookAdsTestCase.tearDown`.  (It should
probably be `AbstractCrudObjectTestCase.tearDown` but that's an orthoganol
issue for a separate commit. The `new_test_ad_*` methods are on
`FacebookAdsTestCase` and they call `remote_create` so that's the class
where automatic deletion needs to be handled as well, for now.)

Additionally this commit cleans up the calling of `set_default_read_fields`
so that it's always restored in `tearDown` at the end of each test, to
prevent cross-test pollution.
Merge pull request #18 from agriffis/travis

Add support for Travis CI.
Fix bugs in fields handling, and make it consistent.

The existing handling of fields is inconsistent in the three places it
appears: `EdgeIterator`, `AbstractCrudObject.get_by_ids` and
`AbstractCrudObject.remote_read`. The result varies between a string,
a list, None, or omitted from params.

This commit ensures that:

  1. In all cases, `params['fields']` will contain either a non-empty
     string, or will be omitted entirely.

  2. If fields is passed to a function, even an empty list, it will be
     respected rather than falling back to `get_default_read_fields`. This
     is accomplished by testing for `is None` rather than just a falsy
     value.

Additionally this uses a more common Python idiom for duplicating a dict,
using `dict(orig)` rather than `orig.copy()`.
Add coverage support via coveralls.io

How this works:

  * The first four entries in the travis matrix run tox with the given
    environment just as they did before. These show as separate line items
    in travis, but they don't contribute to coverage measurement.

  * The last (fifth) entry in the travis matrix runs the full suite of tox
    environments in sequence, accumulating coverage measurements over all
    of them.

  * Regarding dependencies, coveralls is installed in the travis-provided
    virtualenv along with tox. However coverage.py is installed inside the
    tox-provided virtualenv since it needs to run on each Python version.
Point badges at agriffis travis/coveralls links.
Merge branch 'fields' into all
Merge branch 'clean-tests' into all
Merge branch 'adimage-delete' into all
Merge branch 'agriffis' into all