Arduino board ID (called board_type in the code for clarity) and port can be specified.
ArduinoCmakeBuild: Main directory and build directory attributes are set through constructor so that it is more clear that ArduinoCmakeBuild is a state machine.