[MRG] fixes to check_scoring and regression tests. 

This changes the behavior of ``check_scoring``.
If scoring is provided, it MUST be used. Also, a scorer might not need predict, so that check is dropped.
Fixes remaining issues from #3848 and #2853.
Tests are a-coming.
this is actually broken in master. Because ``KernelDensity`` doesn't have a ``predict`` the ``scoring`` argument is ignored.