BUG: Option context applies on __enter__

Option context no longer overrides options when used outside a `with`
statement.

Added test TestConfig.test_option_config_scope

Closes #8514
Merge pull request #8925 from hkleynhans/fix/8514_option_context_with

BUG: Option context applies on __enter__
CLN: Add 'is_hashable' predicate to core/common

Some types will pass a test against collections.Hashable but fail when
they are actually hashed with hash().

Introduce a new predicate to help handle these types.

Will use this in subsequent commit.

Test Plan:
$ nosetests pandas/core/common.py:is_hashable --with-doc -v
BUG: allow numpy.array as c values to scatterplot

Ensure that we can pass an np.array as 'c' straight through to
matplotlib, this functionality was accidentally removed previously.

Add tests.

Closes #8852