Simplified logging of unit tests.

Previosly, the results of all the unit tests were logged to the
test.log file. As the number of unit tests grows, it will become
progressively more difficult to trace failing tests. This problem has
been overcome by now reporting only the *failing* tests in the buld.log
file itself, along with the relevant test metrics.
Simplified .gitignore file.

Since all our build artefacts are generated in the bin/ directory, we
simply need to tell git to ignore this directory. This is preferable to
the earlier extension-based exclusion rules.
Merge branch 'develop' into topic-testing
Enabled auto-display of build log after build.

The build log is now shown automatically at the conclusion of the build
process; this has been done purely for convenience.
Simplified type unit tests.

The use of const description fields seemed somewhat clunky, and so have
been removed. The motivation behind this change is purely subjective.
Marked unit tests as inline.

This was done to improve performance; this may not be that relevant at
present, but as the number of unit tests grows, the benefit may become
apparent.
Implemented unit tests for the Library interface.
Merge branch 'topic-testing' into develop
Merge branch 'develop' into feature-consts
Set proper casts on constants.

The constants have all been cast to their correct types. This will help
prevent type-mismatch warnings being thrown by the splint tool.
Merge branch 'feature-consts' into develop