Adding check for misisng colon ':' in function/macro definition
Fixing missing ':' breaking documentation generation.
Allow for mising packages at top level

This small refactoring allows packages from downstream repos to be listed in
upstsream repos and have them automatically excluded when they don't exist.

This is demonstrated and tested with the new ExternalPkg package with
TribitsExampleProject.

The only changes to the TriBITS system itself here was to read the var
${TRIBITS_PACKAGE}_ALLOW_MISSING_EXTERNAL_PACKAGE in
TRIBITS_PROCESS_PACKAGES_AND_DIRS_LISTS() and to make
${TRIBITS_PACKAGE}_ALLOW_MISSING_EXTERNAL_PACKAGE a cache var so that it can
be overridden.  This is a change to two statements!

I also changed TRIBITS_ALLOW_MISSING_EXTERNAL_PACKAGES() from a MACRO to a
FUNCTION not that it sets a CACHE var.

Updated documentation as well.