Feature: Fake settings specification updates and enable simple golang support.
The Featureless Make is intended to not be language specific since its inception.
I did not know how the languages were to work, so I mostly built this to guarantee C/C++ support.
I found that the `golang` supports some command line based compilation.
This adds support for `golang` in the most basic way.
This support is not well tested.
An `example_go` project is added.
I have only tested the basic build and I have not done anything advanced.
This relaxes some of the requirements.
The `bash` is changed to `shell` to encourage more types of scripts.
The `custom` is added and used as a fallback if `build_language_path` is not used.
I found that there needs to be some additional settings in the `settings` specification.
This updates the specification and adds:
- build_compiler_arguments
- build_compiler_arguments_shared
- build_compiler_arguments_static
- build_compiler_arguments_library
- build_compiler_arguments_library_shared
- build_compiler_arguments_library_static
- build_compiler_arguments_object
- build_compiler_arguments_object_shared
- build_compiler_arguments_object_static
- build_compiler_arguments_program
- build_compiler_arguments_program_shared
- build_compiler_arguments_program_static
- build_language_path
This also fixes some mistakes in the language of the specification.