Update gsm_module to be compatible with v5 hardware and bugfix pic12 build system

This PR updates the gsm_module to be compatible with the latest v5 gsm board hardware.  If does the following:

- Updates the pic12 build system to look for module_settings.json files to allow for local module settings
- Updates pic12_executive and gsm_module to use module_settings.json
- Makes gsm_module target two architectures to produce a v5 hardware (microsim) and v4 hardware compatible hex file.
- Fixes target name parsing in unit testing for pic12 to enable proper generation of unit testing summaries.
- Updates gsm_module code to be compatible with both v5 and v4 gsm hardware.
- Adds port_definitions.h and updates port.h to encode knowledge of what ports on each chip can be made analog.  This allows application code to make a pin ANALOG when possible without having to know whether the physical pin that it is controlling on each target architecture supports setting the pin to analog.  Often you want to set a pin as analog if possible to save power but not care if it is not supported since it's not required from a functionality standpoint. This was necessary to implement now since some of the pins on v5 were not analog-able whereas they were on v4 gsm hardware.