always close response stream in ChangeTracker

In the ChangeTracker's run method, the response stream is sometimes left
unclosed.

When ChangeTrackerMode is LongPoll, the stream is closed after it has
been read with ObjectMapper.readValue(). But, in the OneShot case, the
stream is never closed, since the JsonParser never reaches the end of
the stream.

It might be possible for the LongPoll case to leak too if an error is
thrown, but I'm not sure. To be safe, I've wrapped both cases in a
try/finally block that ensures the response entity is always closed.
Merge pull request #30 from mjq/http_leak

Always close response stream in ChangeTracker