Add context classes for Arduino config access...

Add context classes to simplify access to Arduino tools and board
configuration based on:
 * Arduino installation root directory.
 * Target board name.
Add recursive Arduino config string resolution,...

Add recursive Arduino config string resolution.

Generate `ArduinoContext.runtime_config` information dictionary, which
contains Arduino `'runtime'` configuration variables, extracted from the
Arduino home directory associated with the corresponding
`ArduinoContext` instance.

Generate `Board.build_config` dictionary, which currently contains the
architecture label _(e.g., 'SAM', 'AVR')_ and the build system path
_(e.g., `{runtime.ide.path}/hardware/arduino/sam/system`)_.