Speed up freqresp for transfer functions by an order of magnitude

When determining the frequency response, the list of frequencies
is now stored as a numpy array, instead of a list, and evaluated
all at once, instead of using `map`.  This is much faster.

The improved performance can be measured using a script
`bench/time_freqresp.py`.  On my machine, I get a speedup of
more than a factor of 20 (from 3.9 seconds to 0.18 seconds) for
a 10th-order transfer function.
Speed up freqresp for state-space models

Now `freqresp` converts a state-space system to a transfer
function before evaluating the frequency response.  This is much
faster than computing directly from the state-space system, which
involves solving an n-dimensional linear system at each frequency.
Quiet down noisy MATLAB tests

Fixes #31, suppressing warnings for converting from MIMO to SISO
if the user has explicitly specified the input to use, in
`step_response`, `initial_response`, and `impulse_response`.

If a test should give a warning (such as an impulse response for
a system with a direct feedthrough term), test that a warning was issued,
but suppress the warning from the output of the test.
Fix some MATLAB tests

Fixes #30, suppressing some known warnings for systems with direct
feedthrough terms.  Also removes a duplicate test in
`test_control_matlab`, and fixes some previously broken, skipped
tests:

  test_convert_MIMO_to_SISO
  test_impulse

This update also removes a previous test to make sure warning
messages are issued: this turns out to be unreliable, because
the default behavior is for warnings to be issued only once, so
depending on the order in which tests are executed, the warning
may or may not be raised.