#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.
No, you're right, they're not, and now that you mention it they're not properly included everywhere.  I'll add this (probably tomorrow) but the short version is, the compensated ones use randoms to normalize themselves, the other version doesn't.  Default is to use compensated if the randoms are available.