Load non-namespaced functions only if previously unloaded

Checks if one of the more unique functions is previously defined. If not, will try to load all of the functions. This should help with hamcrest loading cross-project boundaries. Won't check all functions so clashes can still occur with non-hamcrest code (which is likely okay to leave alone).