ADDED: '$destroy_module'/1
ADDED: Notion of temporary modules.
Update module count and free the module name on destroy
ADDED: library(modules).   Currently only provides in_temporary_module/3.
WIP: Update source administration when destroying a module.
WIP to get source file admin working while destroying modules.
New debug topics
Start destroying source files.
Cleanup of source file global variables.
CLEANUP: Separate source file admin in a new file pl-srcfile.c.
Use our own mutex for the source file administration and one per file
for updates to the file admin.
Added pl-srcfile.c
ENHANCED: Implement index-->source_file index using a thread-safe
dynamic array.  This reduces the need for locked reading (actually,
reading was unsafe).
ADDED: Actually destroy registered source files if they are empty.
CLEANUP: Use modern interface for some builtins
MODIFIED: Implementation of source_file/2.  The following modifications
and improvements are achieved:

  - The implementation is now thread-safe (could crash)
  - The mode (-,-) is supported.
  - All files are reported for multifile predicates (MODIFIED)
  - The first argument is a true meta-argument and thus the following
    only returns Head that appear in the context module.  Use M:Head
    to get all definitions.

    ==
    ?- source_file(Head, '/path/to/my/file.pl')
    ==
Clean up source admin of loaded files when destroying a module.
Cleanup of notion of modules
DOC: Path for MacOS app commandline version.  Ognjen Savkovic.
Replace some more anonymous DEBUG(N,...) with DEBUG(MSG_PROC,...)