REF: ensure O(N log N) when using fft for acf

The numpy implementation will fall back to a O(N**2) version of the fft
in cases where it cannot factorize the array length, which can be a
increase in runtime of several order of magnitude. This uses the
_next_regular function from scipy to ensure that we always use array
lengths for which fftpack is optimized.
TST: add test for _next_regular

also copy the test for _next_regular from scipy
MAINT: Deprecate rank in favor of np.linalg.matrix_rank
COMPAT: Add np.linalg.matrix_rank for <= 1.7.1
ENH: Use NumpyVersion for version testing
Merge pull request #1383 from jseabold/deprecate-rank

MAINT: Deprecate rank in favor of np.linalg.matrix_rank
DOC: Fix link to wrong notebook [skip ci]
Merge pull request #1546 from jseabold/fix-example-links

DOC: Fix link to wrong notebook
DOC: Add links for build machines. Closes #1153 [skip ci]
Merge pull request #1154 from jseabold/testing-machine-links

DOC: Add links for build machines.
Merge pull request #1196 from kain88-de/fast_fft_acf

ENH: ensure O(N log N) when using fft for acf
ENH: Unit Root Tests

Introduces 4 new unit root tests and provides a class for Augmented Dickey Fuller testing.
The four new tests are:
  - PhillipsPerron
  - KPSS
  - Variance Ratio
  - DF-GLS

These have all been included in unitroot.py, and the afduller function has been moved from
tsatools to unitroot, and is now just a wrapper around the ADF class.

The critical value and p-value lookup codes have also been consolidated into untiroot.py.
Critical value and p-value lookup information for DFGLS and KPSS is not readily available
in published form, and so simulations were performed to generate these using 100,000,000
replications using a methodology similar to MacKinnon (2010).  All critical value data
has been consolidated into tsa/critical_values.

A cov_nw function was added to tsa/stattools which computes Newey-West covariance.

Also includes substantial improvements to tsatools, including numerous bug fixes.   The
code that handled recarrays has been improved to now handle pandas dataframes.  Numerous
doc strings where improved.  Test coverage was also substantially increased.

string_types was added to the compatibility library to address the difference between basestring
in Python 2 and str in Python 3.

Moved coint to a new file coinegration.py which will, in the long term, be expanded to include
other tests for cointegration.

Conflicts:
	statsmodels/tsa/tsatools.py
Changed h0 and hA to null_hypothesis and alternative_hypothesis

Provides a __str__ and __repr__, as well as a _repr_html_ for IPython, for unit
root tests to improve interactive behavior

Refactored valid_trends to remove redundant code
Documentation improvements
Refactored method used for valid_trends
Improved summary
Fixed test failures on 2.6 by skipping those with assert_raises

asset_raises uses an improved version form unittest in Python 2.7, and does not work
correctly in 2.6
Returned a test that was wrongly disabled.
Provided a basic method to call adfuller and coint from tsatools.py
Added adf-z test simulation code
Improved the simulation code for critical values [skip_ci]