Change loading and startup procedure

Registering participants and loading definitions are now explicit calls
on initialization, and more direct in implementation. Bumbleworks.start!
has been eliminated, and the only way to start a worker now is through
Bumbleworks.start_worker!  Also, loading definitions always overwrites,
and only throws an exception if the directory itself contains duplicate
names.  The idea behind this is that any time you .load_definitions!,
you can trust that the loaded definitions in Bumbleworks match what is
in your directory.  Pre-existing definitions won't actually be deleted,
so you can define your own outside of the file loading paradigm.