Remove print statements from Matlab unit tests
Add methods isctime and isdtime for LTI objects

This change makes
   >>> sys.isctime()
an alternative to the existing function
   >>> isctime(sys)
Its advantage is that it avoids checking the type of `sys`, and
is a little cleaner: LTI objects now know whether they are
continuous or discrete time, and the isctime() function no longer
needs to poke around inside the LTI object to determine this.
Add method issiso for LTI objects
Implement c2d without slycot (fixes #23)

Conversion from continuous-time to discrete-time are now implemented
as methods of the TransferFunction or StateSpace classes.  The
function sample_system() is still provided, and takes either a
state-space system or transfer function as an argument.

The implementations simply call the routine `cont2discrete` from
`scipy.signal`

This new organization into methods avoids some messy type checking in
sample_system(), and also avoids some unnecessary conversions between
state-space systems and transfer functions, which fixes #23.
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.
Fix python3 bug in freqresp for discrete-time systems
Fix warning messages in python3 tests

Avoid using a deprecated call to pyplot.savefig, and eliminate
a superfluous print statement in xferfun._common_den
Correct docstrings in matlab time response functions

Fixes #35
Improve readability of matrix equation tests
Fix bug in dare so that it returns a stabilizing solution

The new implementation calls the routine
    scipy.linalg.solve_discrete_are(A, B, Q, R)
which is included in scipy versions >= 0.11.  The old implementation
using slycot did satisfy the Riccati equation, but did not return a
stabilizing solution.  The scipy implementation apparently works
correctly, though.  This change fixes #8.

Unit tests now make sure closed-loop eigenvalues lie inside
the unit circle.

Note: the scipy implementation handles only the case S = 0, E = I,
the default values.  If S and E are specified, the old routine (using
slycot) is called.  This passes the existing tests, but the tests
include only one simple case, so it would be good to test this more
extensively.
do not use relative inport in the tests, replace by control. etc.
fix the removed MIMO test, and add it again