fixes issue #2556

Fixes it in two ways:

1) changes the closure of `on_dpi` to be over a weakref, not `self`
2) cleans up the call back when the quiver is removed
pep8 fix
renamed import

renamed imported matplotlib.collections from
`collections` -> `mcollections` to try and avoid clashing with
`collections` in python core.
added test_quiver module

tests memory leaks reported in issue #2556
fixed memory leak in quiverkey

closes #2556
pep8 + minor variable re-naming
removed un-needed weakref
added missing self
Merge pull request #2558 from tacaswell/quiver_memory_leak

fixes issue #2556