Added some comments to the ToolPath class header file by way of explanation as to how it fits into the overall scheme.

Started playing with the PostProcessor class but very early days.
Merge branch 'nightly' of https://github.com/DavidNicholls/FreeCAD_sf_master into nightly

Conflicts:
	src/Mod/Cam2/App/PostProcessor.cpp
Fixed a build error
Added various Python scripts to the PyPostProcessor/PostProcessor directory.

Got the basic Python interpretation to work without implicitly adding space or newline characters to the GCode data.

This is the first version where a very rough ToolPath set of instructions actually produces some readable GCode.
Added some descriptions to the nc.py file to explain the architecture of the base class/inheritance mechanisms used.
More cleaning up of repeated and incorrect methods in the python post processing files.
More cleanup of the Python post processing routines so that only those methods that are different are implemented in the linuxcnc.py and mach3.py files.
Changed the ToolPath::PythonString() method so that it only removes beginning and ending quotes if they BOTH appear rather than deleting one end at a time.
Added sorting of the Point location data to the Paths classes.
Added clearance height and removed spindle mode for the drill() command in the nc.py and iso.py files.
Added some settings to the CppExampleTPG and added a couple of intersecting lines to the Paths object so that we could call the drill() toolpath routine.  The new settings can be added and displayed in the GUI alright but the retrieval of them is throwing an exception.  It seems that the DLL the implements the settings std::map must belong to one DLL while the CppExampleTPG belongs to another.  One can call routines in the other but not retrieve a reference to a std::map and use it.  I'm still trying to figure this one out.
Added spindle speed and feedrate settings to the example TPG.

Changed the way the Python scripts handle feedrate and spindle speed GCode.  Rather than accumulate text to add to other GCode, it simply prints the feedrate and spindle speed values on their own lines.  This is much more simple.

Removed the 'modal' sequences from the Python scripts in an attempt to simplify them considerably.  If someone wants to produce modal GCode then my preference is for them to override the various methods in a machine-specific post processor rather than in the base classes (iso.py).

Removed the option to specify the i, j and k arguments in the arc() methods with absolute values rather than relative values.  Again, this just made the Python routines more complicated than they needed to be.

Removed the set_machine_coordinates() method as the right place for this is as a parameter to the rapid() and feed() methods instead.  i.e. if this flag is true then a G53 sequence is added before the X,Y,Z values are printed.
Fixed up some formatting issues (too many spaces) in the Python scripts.

Fixed some constructors and clone() methods so that ALL member variables are correctly initialized no matter which constructor was used.  This fixes the error where the CppExampleTPG could not read the 'settings' that had previously been added.  i.e. there was an invalid pointer due to it not having been initialized during a clone() call.
Added the area_funcs.py and kurve_funcs.py files to Git.
Added some of the code from Dan Falck's test.py script to the CppExampleTPG plugin just to test the Python code generation.

Added addCurveDefinition() and addAreaDefinition() methods to the ToolPath class.  These methods accept an area::CCurve and an area::CArea object respectively and generate the Python code necessary to represent that graphics in the libArea library.  These routines allow existing pocket and profile routines in the kurve_funcs.py and area_funcs.py scripts to be made useful.  i.e. they provide a path from the FreeCAD graphics objects all the way through to these Python scripts.

Added release() call to the TPGSettings destructor to release memory reserved by the grab() call in the addSettingDefinition() method.
Still playing around trying to get the areaClipper library to load into the Python interpreter
Removed some unnecessary braces in ToolPath.cpp

Commented out the example code in CppExampleTPG.cpp that makes use of the libArea module.  I can't get
the libarea module to load in Python yet.  I've left the example in there as comments as it shows how
the Cam::Paths object can be used to generate ToolPath rows of Python code to represent the graphics.  This
leads into the ability to feed the graphics into existing Python scripts for toolpath generation.
Merge branch 'cam-py' of https://github.com/andrewjrobinson/FreeCAD_sf_master into cam-py