Fixed ticket #1075 for lil_matrix, added fancy slice indexing and added test
to confirm 1075 was fixed and fixed slicing tests.
Added test to test_lil_sequence_assignment and fixed code to pass test.
Attempted to fix bugs seen with sparse_test_class()
Fixed another thing for S[1:5, 0] = range(1, 5)y
Integrated test_base.py from gh-426, added tests for new indexing and added
matrix indexing functioning.
BUG: Fix the automatic frequency selection of scipy.signal.bode.
The automatic selection of the frequencies could miss zeros or resonance peaks, so use the existing function scipy.signal.findfreqs instead of _default_response_frequencies.

Specific changes:
* Modifed the function scipy.signal.bode to use scipy.signal.freqs.
* Added a docstring to scipy.signal.findfreqs.
Updated test suite based on pull request comments. Still needs fixing at
line 1227 where C is undefined.
Updated code using ravel() and now able to set values based on an array. A
tradeoff has to be made between code duplication and memory usage. Making
everything into the same shape would be the most elegant, but A[:, :] = 1
would generate three arrays (i, j, x) all having the same size as A. If there
is desire to simplify the code, that can be easily done.
Rewrote __getitem__ to be more readable and reduce code duplication.
Copied code from __getitem__ to __setitem__ . This fixes one error in
test_base and brings up a new error:

line 1172
A[1:3, 1] = [[10], [20]]
now works

line 984
A[1:5, 0] = range(1, 5)
is now broken

line 984 does not work for NumPy matrix objects, so I think that test should
be deleted. I'm leaving that alone for now.
DOC: fix copying mistake
DOC: Fix list formatting
Fixed #1429: pip install numpy scipy was failing because of the preinstallation request from pip to scipy.setup egg_info, before numpy actually is installed
ENH: add a choice of methods for ranking ties in stats.rankdata
ENH: add the 'ordinal' method to stats.rankdata.
ENH: Improve the performance of the 'ordinal' method of stats.rankdata.
Changed blacklist to whitelist of commands that are allowed to be used without numpy installed. If setuptools not found it falls to distutils. Corrected version generation and population in case of non-numpy usage.
Separated getting version from writing it to the version.py file in setup.py. Pre-installation case can call it directly without saving file.
Fixed loading scipy.version from get_version_info function - load it directly without loading scipy/__init__.py
setup.py: Fix case with len(sys.argv) == 1  & stylistic changes