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).
Group hardware files for Arduino 1.x.x into hardware folder
Merge pull request #738 from whosawhatsis/Marlin_v1

Group hardware files for Arduino 1.x.x into hardware folder
Change diameter code to 'D'

For some reason that I can’t figure out, the decimal is dropped when
using ’S’ for the code.

Also some minor code improvements to M200.
Changed 1284p fuse setting for 8, 16 and 20 Mhz

Symtopns:

- X axis move in one direction
- limit switches fail to trigger
- unable to reprogram the device via bootloader
- stops working when the reset switch is pressed.
- device fails to bootup when power by a slow raise power supply.

Solution:
- Disabled the jtag
- set the correct clock selection bit
- set the correct bootloader memory size
- enable brown-out setting
- enable clock power up delay
Merge pull request #741 from Opticalworm/Marlin_v1

Changed 1284p fuse setting for 8, 16 and 20 Mhz
Merge pull request #740 from whosawhatsis/M200

Change diameter code to 'D'
Improved support for panelolu2 encoder and buzzer

I added #define for LCD_FEEDBACK_FREQUENCY_HZ and
LCD_FEEDBACK_FREQUENCY_DURATION_MS  which is used to alter the default
buzzer sound.

When selecting Panelolu2 in configuration.h:
- it automatically sets the correct ENCODER_PULSES_PER_STEP and
ENCODER_STEPS_PER_MENU_ITEM.
- if LCD_USE_I2C_BUZZER is defined it will also set the default
LCD_FEEDBACK_FREQUENCY_HZ and LCD_FEEDBACK_FREQUENCY_DURATION_MS

When selecting the sanguinololu 1284p the following is true:
- its now enables  LARGE_FLASH
- It enables the gcode M300 when the panelolu2 LCD_USE_I2C_BUZZER is
defined
Changed 1284p fuse setting for Arduino_1.x.x

- Remove the two version of 16mHz. Crystal and resonator use the same
fuse setting. Also, Arduino IDE only showed the first one 16Mhz as a
board option.

- Added 20Mhz board option.

Symptoms for incorrect fuse setting:
- X axis move in one direction
- limit switches fail to trigger
- unable to reprogram the device via bootloader
- stops working when the reset switch is pressed.
- device fails to bootup when power by a slow raise power supply.

Solution:
- Disabled the jtag
- set the correct clock selection bit
- set the correct bootloader memory size
- enable brown-out setting
- enable clock power up delay
Heater wattage reporting for M105 using EXTRUDER_WATTS and BED_WATTS
Merge pull request #744 from drf5n/watts

Heater wattage reporting for M105 using EXTRUDER_WATTS and BED_WATTS
Merge pull request #743 from Opticalworm/Marlin_v1

Improved support for panelolu2 encoder and buzzer
Add Azteeg X3 Pro as motherboard 68
Add digipot i2c control for MCP4451
Allow M907 to set i2c digipot currents in amps
Fix Makefile to allow Azteeg motherboards
Fix Makefile to allow Wire libraries only
Add beeper pin for Azteeg X3 Pro
Added pins for Azteeg X3 Pro under motherboard 68
Default is to not define digipot_i2c
fix typo
Update language.h

Updated Polish translations.
Add Aragonese translation
Merge pull request #756 from danielmartinez/aragones

Add Aragonese translation
Revert "Merge pull request #756 from danielmartinez/aragones"

This reverts commit 6f76066ab3cf386e50777fb4a612dd39b25cc62b, reversing
changes made to e1ae7952ebff25094196f93baa6b53c2c12193f7.