half-way commit to explain some of what is going on
working code, only one bug left
mostly working, needs extruder support
Merge branch 'edge' into stepper

Conflicts:
	gcc4mbed/build/mbed.ld
	src/main.cpp
small optimisation
adding the Endstop module, first commit
basic homing
wheee, basic homing
more endstops progress, needs final move
testing on smoothieboard, with steppers, trying to make it work correctly
yay, big stepper branch bug solved, we forgot to set speed to initial_rate because we stopped setting speed at block change
stepper code now only iterates on stepper motors that are actually active, thus saving precious time, yay !
corrected some problems with the enable pins gcodes
merging edge into stepper, correcting conflicts
re-enabling serial
Upgrade gcc4mbed project used by Smoothie.

Main updates:
* Now uses GCC ARM Embedded 4.6.2012-q1-update
* mbed SDK version upgraded from version 28 to 43.
* Now uses header dependencies to make incremental build more useful.  No
  longer do you need to run "make clean" before each build that contained
  header changes.
* Treats .c files as C code and not C++.  The mbed guys have finally made this
  change for the online compiler so I have switched to match it.  It does mean
  that some .c files now need to be renamed to .cpp if they #include a C++
  header such as mbed.h
* I have tried to trim out some of the fat in the build and produce smaller
  binaries than what were created previously by gcc4mbed based projects.  Still
  no where close to being as small as what the online compiler produces.
Upgrade to MRI build 0.3-20120911.1

Fixed a bug which was causing GDB to fail to connect to Smoothie when there
wasn't an initial break in the init code and a dedicated serial port was
being used.
Move code in FLASH up by 16k to make room for bootloader.

I had pulled it back down to 0 by mistake when pulling in latest gcc4mbed code.
Merge pull request #59 from adamgreen/gcc-20120316

Upgrade gcc4mbed used by Smoothie
merging edge into stepper