Allow overriding platform.txt using platform.local.txt

This helps advanced users that want to change options (e.g. to use a
different toolchain or enable warnings), without having to change
platform.txt (which could make git report changed files all the time).
Add (empty) compiler.*.extra_flags variables in platform.txt

These make it easier for a user to add extra compiler flags in a
platform.local.txt file.
Explicitly define compiler.path in avr/platform.txt

Previously, this relied on an (ugly, avr-specific) magic default for the
compiler.path variable, set by the IDE. This allowed the IDE to fall
back to a system-wide toolchain when no bundled toolchain was found (by
making compiler.path empty).

However,
 - this only worked for avr, not sam,
 - this worked only for gcc, a system-wide avrdude would break on the
   avrdude.conf path in platform.txt, and

This would mean that automatic system-wide fallback didn't work in all
situations, so you'd still have to modify platform.txt (or create
platform.local.txt). Since doing that explictly is the most reliable
way, this commit removes the partial-working ability to do this
automatically.

Note that the code to automatically set compiler.path is still kept
around, in case third-party hardware still relies on this. At some
point, this code should be removed, but for now it just shows a warning
message.
Merge remote-tracking branch 'matthijs/ide-1.5.x-platform.local.txt' into ide-1.5.x
Added extra flags support through platform.local.txt on sam

See #1985