ENH: Silence test output

A simple patch that makes minimal changes to tests that silences almost all output.
Most fixes were simply changing options to not output (e.g. disp=False), and a few
others trapped errors.

A new class was introduced in tools/testing.py that allows general output in a test
to be silenced.  It would be preferred for code to only raise warnings and not simply
print, so that the warning could be captured instead.
ENH: Converted parallel message to warning

parallel_funciton was printing a warning, but not raising one.  Converted to
a ModuleNotAvailableWarning.

Removed the 'catch all' class that was trapping this test.  Catching all text is
generally a bad idea.
ENH: Separated warnings from other code into a new file

sm_exceptions.py now holds all custom warnings and errors. ConvergenceWarning
was moved to this new module, and imports were corrected.
BUG: Correct derivative for exponential transform.
Merge pull request #1540 from jseabold/fix-1539

BUG: Correct derivative for exponential transform.
Merge pull request #1507 from bashtage/silence-tests

CLN: Silence test output
ENH: Avoid RuntimeWarning when hessian unused
TST: Remove unnecessary test.
Merge pull request #1543 from jseabold/tst-fix-warning

TST: Suppress RuntimeWarning for L-BFGS-B
CLN: Refactored so that there is no longer a need for 2to3

The codebase has been refactored so that it can exist in a single, unified base.
The strategy closely followed six and pandas.compat, but does not involve any further
dependencies.

The compatability location has been renamed form compatnp, which housed compatnp.py3k, to
just compat, and the main py3k compatability files are in __init__.py so that they can
be directly accessed

Conflicts:
	statsmodels/genmod/tests/test_gee.py
	statsmodels/nonparametric/tests/test_kernels.py
	statsmodels/sandbox/regression/tests/test_gmm.py
	statsmodels/tools/parallel.py
	statsmodels/tsa/vector_ar/tests/test_var.py
Rolled back absolute imports in api.py
Refactored compatnp to compat and moved all py3k to __init__. compatnp
is not the correct name, and it makes more sense for compat to be the
location of any backward/forward compatability code using compat for
the majority of the py3k code and submodules np (or numpy) for numpy and scipy.
Final removal of 2.x print
Fixes reduce-related issues
Removes extra .items() and replaced with iteritems.
Corrected typo in import BytesIO
Many small fixes related to things missed that are not covered by tests, including
raw_input
Removed redundant parentheses that produced tuples in print statements
Rolled back a small error in the previous commit
Fix broken execfile fix
Removed unnecessary use of lzip and lmap
Imported zip and map from compat where used