[demos] update minimal_cpp_demo
[core.defaults] do not fail if module has not '__path__' attribute
[reductors] first work on reduce_residual
[reductors] more work on reduce_residual
[docs] update docstring of reduce_stationary_affine_linear
[reductors] add 'reduce_stationary_coercive' reductor
[core.logger] add 'warn' method to DummyLogger
[core.logger] add 'warn' method to DummyLogger
[reductors] make use of 'extends' parameter in reduce_residual
[reductors] build basis for residual_range one source basis vector at a time

This is needed to implement restricted_to_subbasis .
[reductors] add projected_to_subbasis methods to ResidualOperator and NonProjectedResiudalOperator
[reductors] add 'restricted_to_subbasis' method to StationaryCoerciveEstimator
[demos] add option to select reductor in thermablock demo
[demos] flush stdout after printing '.' in thermalblock demo
Merge branch 'residual_reductor'
[operators] copy matrix in NumpyMatrixOperator.projected_to_subbasis

This increases performance of the error estimators, as matrix-vector
products are faster when the matrix is in a contiguous block of memory.
[demos] enhance 'analyze_pickle' demo
[core.logger] allow to disable colors in ColoredFormatter

Up to now this could only be toggled globally.
[core.logger] allow for simultaneous stream and file logging

If the user sets pymor.core.logger.FILENAME, each logger obtained by
getLogger() will additionally log to this specified file. This can be used
to create a log file that should be very close to the output created on the
console, e.g. by:

    from tempfile import NamedTemporaryFile
    import pymor.core
    tmp_filename = NamedTemporaryFile(delete=False).name
    pymor.core.logger.FILENAME = tmp_filename