* Updated the PathType and StorePathAction classes to allow for asserting if a path contains an executable.
* Converted the top-level argument group to use the new builder DSL.
* Updated tests for StorePathType to not actually test the functionality of the PathType class.
* Implemented a CompilerVersion type to mimic the existing wrapper in swift_build_support and return a more detailed object from ClangVersionType and SwiftVersionType.
* Updated action tests.
* Fixed a filter() mistake.
* Code review.
* Imported the new argparse overlay module and added the setup code for the DSL.
* Converted the CMake generator flags to use the new builder DSL.
* Converted the assertions argument group to use the new builder DSL.
* Converted the LLVM-specific settings argument group to use the new builder DSL.
* Converted the Android build settings argument group to use the new builder DSL.
* Removed unused action aliases from the builder DSL setup section to appease the flake8 gods.
* Fixed small typo in help message for --eclipse option.
* Added a new defaults module for configurable constant values used by the argument parser to configure the default build behavior.
* Re-ordered imports in order to satisfy python linter.