Factor out some common code in hotkeys_module_editor.cpp
Modify GetCenter and Rotate functions in DRAWSEGMENT to act according to the type of the edge
Add duplicate and exact move tools to modedit

These are accessible via the context menu, and via hotkeys
Merge branch 'bzr-master' into bzr-moveexact

In order to receive Orson's selection changes
Get move exact working in the GAL modes too
Duplicate now works with selections
Only handle move exact once, even though it seems odd to not handle it here...
Increment pad numbers when duplicating. Move pad number incrementing into the D_PAD and MODULE classes
Fix display of selection info after duplicating in GAL
Fix comment regarding move exact
Fix undo of move exact - use UR_CHANGED
Remove duplicate function stub and transition from EDIT_TOOL - how duplicate would work in pcbnew is unclear
Fix logic error in Cartesian to polar conversion
Protect against a null dereference
Whitespace cleanup