spike of making Interfaces ABCs

still need to remove reference to the __implements__ class created
by traits.
- removed references to __implements___ class etc.
use HasTraitsAdapter instead of Adapter in tests

removed spike test
docstring editing
DOC more docs
Merge remote-tracking branch 'origin/abc-interface' into adaptation
Rename HasTraitsAdapter -> Adapter; Adapter -> PurePythonAdapter.
Move 'adapts' in the 'traits.adaptation' package.
Remove annoying print statement in tests.
'provides' class decorator

'provides' is a replacement from 'implements'
Headers in adaptation package.