Added LiquidCrystal_I2C library to ArduinoAddons
Added Config variables for activating I2C LCDs and setting type and address
Added I2C port expander support to HD44780
Added import of Wire Library to make I2C LCD support compilable
Made i2c mode wok with the hardware I am able to test (ywrobot  / sainsmart i2c LCD 2004)

Removed incorrect LiquidCrystal_I2C Library
Converge all I2C LCD branches (PANELOLU2, VIKI & PCF8575)

This includes refactoring the buttons code to remove a large amount of
non-pin dependent duplication from pins.h.
Fix Configuration.h file to not define LCDs be default.

Also fix compile time check in Marlin.pde
Attempt to address Bernhard's comments

Refactor configuration to try to make items clearer (what defines a
panel vs what is user changeable).
Implement automatic extruder/cold-end fan control based on temperature

This change allows fan outputs to automatically turn on/off when the
associated nozzle temperature of an extruder is above/below a threshold
temperature.
Multiple extruders can be assigned to the same pin in which case the fan
will turn on when any selected extruder is above the threshold.
It also makes the M42 command compatible with the M106/M107 command.
The majority of the logic in this change will be evaluated by the
compiler at build time (i.e, low code space requirements).
Further reduce code by using precompiler logic
Number of extruders is not an advanced configuration - it is a basic property.
Support encoder click on PANELOLU2 being read through I2C

This change also handles the case where the pause/stop/restart button on
the VIKI is not used. Make LCD I2C buzz sound the same as the normal
buzz (300ms is too long for quick feedback).
Updated for LiquidTWI2 library version 1.2.3

The new version of the library means that PANELOLU no longer needs to be
defined in LiquidTWI.h (the library file can be used as is) and the new
version of the library also enables the buzzer on the Panucatt VIKI
panel.
Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1

Conflicts:
	Marlin/Marlin.pde
	Marlin/ultralcd.cpp
	Marlin/ultralcd_implementation_hitachi_HD44780.h
Add lcd_buzz function to ultralcd.h so that non-LCD code can make use of lcd's buzzer.

Argument order of lcd_buzz was set to mirror that on tone(). Change
default M300 frequency to something audible.
Make DOGLCD merge neater.
Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1
Rework change to incorporate CONTROLLERFAN

Also refactor extruder auto fan logic to simplify further and now only
check every 2.5 seconds
Remove unnecessary pin initialization in stepper.cpp

(duplicates initialization in Marlin_main.cpp)
Optimize menu selection for Viki rotary encoder.

The Viki LCD rotary encoder uses a different number of steps per
rotation. This fixes the seeming "missed" steps when selecting a menu.