Allow setting a line timeout in MessageSiphon

Previously, the MessageSiphon class would read characters from an
InputStream and then push them to the passed MessageConsumer one line at
a time.

Now, you can specify a line timeout. Normally, messages are still
processed line by line, but if no line ending is received within the
specified timeout (counting from the first character in the line), then
the incomplete line is passed on as a message, without waiting for the
line ending.

This feature is used for the uploader command output. In particular,
this allows the avrdude progress bar to be shown in the IDE as expected,
character by character (previously, the entire progress bar would be
buffered, making it show up completely at the end of the upload).
Reduce avrdude verbosity

Previously, when verbose uploads were enabled, avrdude was run with four
-v options, causing it to dump all raw bytes exchanged with the
bootloader. This floods the console so much that meaningful output
mostly disappears.

Most users probably want to enable verbose mode just to see what avrdude
command is ran. Furthermore, users that benefit from the raw bytes
dumped are perfectly capable of either running avrdude manually, or
modifying platform.txt. Given that, running avrdude with just one  -v
should be plenty.

This fixes #891.
(Mac OSX)  Improve Quick look and syntax highlighting under OSX

An exported UTI declaration means that the type is available for use by all other parties.
By adding an this declaration for ino files, it allows Quick Look to display file content and
external editors (like Xcode) to automatically syntax highlight .ino files as C++
Merge remote-tracking branch 'ide-1.5.x-avrdude' into ide-1.5.x
Merge branch 'ide-1.5.x' of github.com:dpslwk/Arduino into dpslwk-ide-1.5.x
Added missing keyword in LiquidCrystal library
add save when verifyng and uploading #1934
Do not auto-save on verify/upload if sketch is readonly
Renamed preferences 'save.verifyUpload' to 'editor.save_on_verify'
Temboo: removing ControlBySMS and SendDataToMySQL examples, as per Temboo request
Merge branch 'autosave' into HEAD
Explicitely store a layout type for a library

Previously, the useRecursion and srcFolders were filled on library
creation, based on the existence of the src folder. Now, a layout
variable is set, and the useRecursion() and getSrcFolder() methods
change their return value based on the layout in use.
Let Sketch.getExtensions() return a List

This simplifies upcoming changes.
Use SketchCode.isExtension in more places
Don't store the extension in SketchCode

Nobody was using it anymore, except for checking against specific
extensions, which is easily done against the filename itself. This
prepares for some simplification of Sketch.load next.
Removed unused Base.getBoardsViaNetwork() and related member.
Removed some trivial warnings
Removed some warning from Editor class
Refactoring of Theme class
Refactored and simplified EditorConsole class.