Can add additional platform configurations to Gcc-based tool chains

- Split configuration of a binary for a platform into a set of actions
- Added an API for adding additional platform configuration actions
Cleanup of GCC toolchain internal classes

- Made some classes package-private
- Moved some stuff from .toolchain.internal to toolchain.internal.gcc
- Renamed a few implementations
- Extracted GccPlatformToolChain out of AbstractGccCompatibleToolChain
- Unit test coverage