refactoring extraction methods.

working on making less things 'code' and more things 'data'
python style correction
Add mapping docclass, representing a single key  => value mapping, and also storing it's lifetime and the device it belongs to.
Add map class representing a collection of mappings.
Used for getting historic mappings or seeing the current mappings.
Add Extraction classes for getting data from devices and transforming it into a map.
Merge remote-tracking branch 'origin/master'