Fixed: regression introduced with new CMake "compile_commands.json" handling - codelite should not consume memory as it did ...
Multiple undo/redo is now possible

The 'Undo' and 'Redo' aui tools are now dropdown. Their menus show the relevant command history descriptively e.g. Undo deletion: "Foo"
Any 'states' with a user-set label can now be seen and 'goto'ed from their own menu
Fixed: https://github.com/eranif/codelite/issues/436 - don't touch every project when changing the build order
Git pluign: implemented: git commint --amend ( https://github.com/eranif/codelite/issues/431 ). The amend option is a checkbox is in the git-commit dialog
Changes to help the UnRedo system work in plugins (i.e. wxCrafter)

Some things are now delegated to the CommandProcessorBase class.
Also includes some bug-fixes.
Added set( CMAKE_EXPORT_COMPILE_COMMANDS 1 ) to codelite's main CMakeLists.txt file
Correctly expand $filename in the main frame's title
Added 2 new events: wxEVT_WORKSPACE_RELOAD_ENDED / wxEVT_WORKSPACE_RELOAD_STARTED
Reload workspace is now done using ProcessEvent and not by AddPendingEvent this to avoid double reload of files and invalidating pointers which leads to crash
fixes https://github.com/eranif/codelite/issues/434
Handle mass output in the debugger output pane (use OnIdle event and buffer the output)
Debug pane: write everything in the OnIdle event
More changes to help UnRedo work with plugins; this time 'frame-mode' wxCrafter

Also, removed the md5sum code, as it's not going to be used in the forseeable future.
Merge branch 'multipleunredo'

1) The Undo and Redo tools are now dropdown, so it's now possible to undo/redo multiple changes at a time. Each change is shown as 'Insert "foo"' or 'Delete 13 chars'.
2) There is a new item in the Edit menu: 'Set label for current state'. This allows the user to set a more-readable label for the current state e.g. 'Before adding debug code'. This makes it easier to select the correct 'undo to here' point.
3) To make undoing/redoing to a particular point even easier, when there are user-labelled states an extra submenu appears below the 'Set label for current state' item, containing all user-labelled states.

Conflicts:
	LiteEditor/frame.cpp
Fixed compilation errors on Windows
Fixed: compilation warnings + errors with the latest feature of Undo/Redo
MSW: updated workspace / project files
Compilation fix for non precompiled-header builds
Initial work on providing a simple plugin function for codelite (CMake)
Multiple UnRedo: Improvements to the displayed strings

1) Escape newlines, as they otherwise result in multiline displays.
2) Truncate large amounts of text, rather than just reporting their length.
Created new mechanism to create codelite plugins with a single CMake line (will update Wiki)
Remove a HasFocus() test introduced in 3fed7d8

This caused UpdateUI problems