Replace Leonardo detection with Caterina detection

Checks bootloader.path for "caterina"
moved reset routines down past where we define CATERINA

my understanding of recursively expanded variables wasn't correct
Don't commit example build directories to git.
Add support for the Digilent chipKIT platform

This commit modifies a few things in Arduino.mk to be able to support
overriding the necessary configuration options to support the chipKIT build,
and also includes an example sketch configured to build for the Max32 platform.

In addition the following changes were done as well

- Control C standard with a CFLAGS_STD flag, GNU99 by default.
- Duplicate show_config_variable in each sub-makefile.
- Remove redundant output of ARDUINO_PREFERENCES_PATH from config table.
- Defer Priting ARDMK_DIR until Arduino.mk.
- Define names of compiler tools earlier to use for path checking.

Duplicating show_config_variable is unfortunate because the code is duplicated,
but I don't see a good way around it since we need to dupliacate the check
for ARDMK_DIR before we can find Common.mk.

Fix #98
Implement ard-parse-boards with shell scripting instead of Perl.

Working towards dropping the dependency on Perl (which very few Windows users
have), this commit implements the required functionality from ard-parse-boards
in a few shell commands from within the Makefile.

Fix #100
Compile with debugging symbols only when DEBUG=1.

Fix #101
Replace Leonardo detection with Caterina detection

Checks bootloader.path for "caterina", instead of checking only for
leonardo

Fix #96
Fix #97
Fix #102
Remove Perl YAML dependency from documentation.

YAML is no longer necessary in Perl since ard-parse-boards was implemented in the Makefile itself.
Allow objects to be in arbitrary subdirectories.
Update a call to PARSE_BOARD to Makefile-style in chipKIT file.
Fix path to avrdude for chipKIT's MPIDE installation.
Don't require an IDE preferences file, fallback to default sketchbook.

It should be possible to use the Makefile without ever running the
Arduino or chipKIT IDE. This change only looks for the preferences file
if the sketchbook path is not defined, and even then, will use the
default skethbook path if the preferences file is unavailable.
Merge pull request #104 from openxc/update-chipkit-parseboards

Update a call to PARSE_BOARD to Makefile-style in chipKIT file.
Merge pull request #108 from openxc/no-preferences-required

Don't require an IDE preferences file, fallback to default sketchbook.
Merge pull request #107 from openxc/chipkit-avrdude

Fix path to avrdude for chipKIT's MPIDE installation.
Rename ARDUINO_PORT to MONITOR_PORT to reflect support for other platforms.

This commit includes backwards compatibility with the ARDUINO_PORT flag if
that's set.

Fix #109
Merge branch 'serial-port-variable-name' of git://github.com/openxc/Arduino-Makefile into openxc-serial-port-variable-name
Merge pull request #106 from openxc/build-in-subdirs

Allow objects to be in arbitrary subdirectories.
Make `ARDMK_PATH` and `ARDMK_DIR` backward compatible

When support for ChipKit was added recently (issue #98) it broke the way
ARDMK_PATH and ARDMK_DIR were handled, if the package was installed
through package. It was only working if you have done a git checkout.

This commit fixes it, but searching for `Common.mk` both in
`ARDMK_DIR/arduino-mk` and `ARDMK_DIR/` directories.

Fix #110
Merge branch 'master' of https://github.com/sudar/Arduino-Makefile

Conflicts:
	arduino-mk/Arduino.mk