MRG add common test to check if estimators overwrite their init params

Addressing #1108 (checking that ``random_state`` is not altered) and even a bit more.

Currently the test is pretty strict: it checks that the init parameter is not changed AT ALL during ``fit``.
For default values that are set to ``None`` and instantiated later, this is a bit stupid.

But on the other hand, sometimes ``None`` means a parameter will be set from the data - so the none should stay there after ``fit``.

What do you think would be a good policy?