Packages: Added timeout to bcfg2-yum-helper calls

This involved making the Yum backend use Bcfg2.Utils.Executor to call
bcfg2-yum-helper instead of subprocess.Popen directly.  This was
cherry-picked (kinda) from 3d06f311274d6b942ee89d8cdb13b2ecc99af1b0,
so will likely break the maint -> master merge in spectacular ways.
Packages: instantiate Executor before determining path to helper
MultiprocessingCore: Dispatch metadata cache expiration to children

When the broker in a multiprocessing configuration expires its
metadata cache (e.g., when probe data is received), it must dispatch
that expiration call to its children.

This also makes the protocol for communication between the broker and
its children into a real RPC protocol, so we can do even more stuff in
the future.
MultiprocessingCore: Call Debuggable.__init__ on DispatchingCache
MultiprocessingCore: removed unused import
MultiprocessingCore: Fixed return value from set_debug
MultiprocessingCore: rewrote parent-child RPC to be thread-safe (and less powerful)
Cfg: unknown-cfg-files lint check honors FAM ignore list
Cfg: added missing docstring
settings: allow setting database schema
settings: fixed db schema option