Fix datetime localization in tests and pin pytz.

Using this has been the only way I can get the tests to pass. They are passing for @reedstrm and @karenc, so I'm not sure what the problem is.

These changes make the data more accurate. That is to say, the test case posts data from a different timezone. The given iso8601 timestamp is entered into Postgresql, which will accept a timestamp from any timezone.

I don't know what the issue is. So this is a pull request that needs another pair of eyes.
I was able to reproduce the error in travis on my local machine.  Have a look at this:
```
>>> datetime.datetime(2014, 6, 13, 15, 15, 15, 677617, tzinfo=pytz.timezone('Europe/Berlin'))
datetime.datetime(2014, 6, 13, 15, 15, 15, 677617, tzinfo=<DstTzInfo 'Europe/Berlin' LMT+0:53:00 STD>)
>>> pytz.timezone('Europe/Berlin').localize(datetime.datetime(2014, 6, 13, 15, 15, 15, 677617))
datetime.datetime(2014, 6, 13, 15, 15, 15, 677617, tzinfo=<DstTzInfo 'Europe/Berlin' CEST+2:00:00 DST>)
```
Changing from `datetime.datetime(..., tzinfo=pytz.timezone(os.environ['TZ']))` to `pytz.timezone(os.environ['TZ']).localize(datetime.datetime(...))` fixed the test for me locally.