(trace-is-traceable-p): New predicate function used for filtering
interactive completions.
(trace--read-function): New function, split from `trace--read-args'.
Changed to use the new `trace-is-traceable-p' predicate.
(trace--read-extra-args): New function, split from `trace--read-args'.
Changed to allow the user to enter an empty string at the context
expression prompt (previously an error; now treated as "nil"), and to
cause a "nil" context expression to produce no context output in the
trace buffer.
(trace--read-args): Removed function. Replaced by the combination of
`trace--read-function' and `trace--read-extra-args'.
(trace-function-foreground, trace-function-background): Updated
interactive specs to use the new functions.
(trace--read-library, trace--library-defuns, trace--library-autoloads)
(trace--library-provides-autoload-p): New functions for establishing
traceable functions related to specific libraries.
(trace--after-load-alist): New variable.
(trace--after-load, trace--after-load-function)
(trace--remove-after-load, trace--remove-after-load-all):
New functions for optionally re-processing the `trace-regexp',
`untrace-regexp', and `trace-library' calls via
`after-load-functions'.