#33 Move to TreeCorr for correlation function tests

This is a PR to merge code that uses the TreeCorr package rather than corr2.  A lot of this is inside baseball for the workings of the CorrelationFunctionSysTest, but I will highlight in particular:
 - Most of the code is now gone from `corr2_utils.py` (now `treecorr_utils.py`).  You have no idea how excited I am about this.
 - The call signature for the CorrelationFunctionSysTests has changed: now it is
```sys_test(data, [data2, random, random2,] config=config_dict, **kwargs)```
instead of the old
```sys_test(config_dict, data, [data2, random, random2], **kwargs).```
The new form is more in line with the call signatures of the other SysTests, and I think it's clearer too.
 - Various places that "corr2" has been changed to "TreeCorr."
 - As long as I was changing imports, I went through and tidied up extraneous import calls in all files in the `stile` directory (all of which were, I'm sure, my fault in the first place).
 - Added a `fieldNames` dict to `stile_utils.py`, so we have an obvious in-Python place to look up what the fields should be called.  (Possibly we should do this for `object_type`s too?)
 - General PEP8ifying (spaces after commas, no trailing spaces on lines, etc)
 - Added a CHANGELOG.

Unfortunately, due to both rewriting a lot of the file & changing its name, the GitHub interface thinks `stile/treecorr_utils.py` and `stile/test_treecorr_utils.py` are entirely new files.  Hopefully it's not too terrible to read, though.
The thing it does next is check if the `function` has an `n_bins` attribute, and otherwise it just fails (that is, it assumes this was deliberately excluded in order to use the function's own definition--it won't work if `n_bins` is None without a backup).  Think it's worth emitting a warning in this case?  I don't know how often it is that somebody will define a function with an `n_bins` attribute, but not bother passing it to this function.