Fixed the plane vector equation to a simpler one (only dependent on the normal)

Removed the calculation of the inverse matrix since the rotation matrix is orthogonal, therefore inverted == transposed.
Much simpler and mathematically robust.
Implemented a least squares fit of the bed equation for auto bed leveling.

The code for the LSQ solver (qr_solve) is copyrighted by John Burkardt and released under LGPL here:
http://people.sc.fsu.edu/~%20jburkardt/c_src/qr_solve/qr_solve.html
(see qr_solve.cpp for further copyright information)
Minor code and comment polishing
Accurate bed leveling: x loop inside y and zigzag motion
Use C++ initialization list

This is the recommended approach for object initialization. The change
doesn't affect binary size (although in theory it could make it smaller).
Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into ErikZalm

Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
Merge pull request #673 from fsantini/ErikZalm

Improvements to the auto bed leveling feature
Add Ultiboard2 electronics. With PWM current settings. For the few people that have this new board as experiment in their UM-Original.
Added PT100 support for Ultiboard2
Makefile: Update for Arduino 1.0.5 and Teensyduino dependent boards (HARDWARE_MOTHERBOARD=={8,81,82,83,84})
fastio.h: Add AT90USBxx_TEENSYPP_ASSIGNMENTS for teensyduino/Lincomatic/Printrboard compatibility.
createTemperatureLookupMarlin.py: Add resolution comments and format for Marlin.
Add Z Probe Offset to EEPROM and Ultra LCD
Update ConfigurationStore.cpp

Unable to compile if ENABLE_AUTO_BED_LEVELING is not set (not set by default).
Merge pull request #720 from sourceperl/Marlin_v1

Update ConfigurationStore.cpp
Enable basic ULTRA_LCD screen w/o encoders and menus.
Fix crash after home bug

Fixes a bug in the Extruder Runout Prevention feature that caused the
extruder to move back to “current_position” after a move if it was
activated while the move was in progress. For long home moves (which
are longer than the dimensions of the machine’s working area), this
would cause the machine to crash into the far end of its travel after
homing. This usually occurred on the Z axis, which could result in
damage to the machine if you don’t hit the reset button in time.
Remove previous_millis_cmd update from extruder runout prevention code

This seems to defeat the purpose of previous_millis_cmd, preventing the
time elapsed from previous_millis_cmd from ever reaching
max_inactive_time or stepper_inactive_time while the heat was on.
Previous commit borked.
Merge pull request #725 from whosawhatsis/Marlin_v1

Fix bugs in Extruder Runout Prevention, including DAMAGING HEAD CRASH