Pcbnew: fix Bug #1391561 (PCBNew segfaults on BOM creation).  Does not happen on all platforms. Could be due to use of data just previoulsy deleted.
Very minor other changes.
Added an additional search path for GLEW (closing bug report 1247910).
Pcbnew place track menu entry hot key text fix.
router: multiple changes

- re-worked PNS_LINE_PLACER and PNS_ROUTER classes a bit, removing duplicate class members
- cleaned up Andrew's blind/buried via fixes
- fixed 'custom via width' dialog bug updating the width even when closed/cancelled
- fixed incorrect radius of drawn microvias
P&S router bugfixes

- fixed walkaround bug causing unwanted overlap/clearance violation when the first segment of trace being laid intersects the obstacle's hull at the same point twice (ie. goes in, turns around and goes out).
- fixed placer bug not splitting the start segment after toggling via placement or changing trace width
P&S router: fixed shove force propagation incorrect issues causing improper via dragging.
geometry: IsSolid() and Move() methods, segment overlap detection, some improvements in SHAPE_LINE_CHAIN class.
gal/stroke_font: made text vertical alignment follow the non-GAL renderer.
Code formatting.
Improve MsgPanelInfo for line segments in the module editor
Factor out some common code in hotkeys_module_editor.cpp
Add EDGE_MODULE::RotateAboutOwnCenter() function
Make a start on exact moving
Add hotkey for move exactly
Extend move exactly to other types

Also add specific drawsegment centre-finding and rotation code.
Integrate block move exact and footpritn move exact
Fix whitespace
Duplicate hotkey - only works for pads
Duplicate for pads, text and edges, still need to do block
Allow move exact while duplicating