Define new functionality and tests.

 - Defined functions polysquare_add_library, polysquare_add_executable
   which use `_polysquare_add_target_internal` internally. Each of these
   functions allow the user to add a new library with specified internal
   and external include dirs, with static checks added appropriately to
   each of them.
 - Refactored polysquare_add_test, polysquare_add_mock and
   polysquare_add_matcher to use these functions internally.
 - Added polysquare_bootstrap_coverage to bootstrap code coverage
   reporting
 - Added polysquare_rules_complete_scanning to add a global unused
   function check using cppcheck
 - Added tests for the following functionality
   * Global unused function check has correct headers added
   * CPPCheck checks are added to targets with rules attached
   * Vera++ checks are added to targets with rules attached
   * Vera++ rules and profiles are copied in
   * Coverage flags are set when required
   * -Wextra is set