When no base set is specified, default to "base"

But only when multiple buildsets are found in the results and "base" is
among them.
Remove interrupted builds even without --force

Interrupting the build process (e.g. by pressing ^C), typically leaves a
build directory without a build.json. Since it should never be possible
to get these during normal builds, it should be ok to just remove them
and retry the build. This allows interrupting and restarting the build
without causing (incorrectly) failed builds.
Add a README
Rename data to build in do_compile

data is used to refer to the entire dataset, build is used for
individual builds.
Add size and hash info during build

Previously, this was added during the report step, for extra
flexibility. However, adding it during the build already allows cleaning
up the build dir after building to not waste tons of disk space.
Optionally delete the build directory after building

This saves disk space for files which aren't normally needed anyway. If
needed, you can pass --keep-build-dir to keep them around (e.g. for
manual inspection).
Make building work for the sam core

Previously, determining compile sizes used avr-size directly, but this
obviously doesn't work on sam (ARM). Now, the Arduino IDE compiler
output is parsed (though that will break when the IDE is not configured
for English, but well).

On the longer term, the IDE should probably be modified to allow
outputting sizes in a language-independent and easily parsable manner,
or it should easily expose the recipes from platform.txt so we can call
the right commands (without hardcoding) ourselves.

Additionally, this uses the .bin file instead of the .hex file when the
latter doesn't exist - the sam core produces .bin files while the avr
core produces .hex files.
Document verbose mode