Allow sending all parameters to Dashboard.launch

We were previously only forwarding workitem fields on launch.  Now all
arguments sent to Bumbleworks.launch! will be passed on to the
dashboard's #launch, which allows for setting process variables, etc.
Set catchall if needed when launching

This allows us to set up a Bumbleworks application with no additional
participants without having to call "register_participants" with no
block (which was nonsensical).
Fix deprecation warning

RSpec doesn't want us to expect a specific error to not be raised.
This actually makes a lot of sense, since something of a false
positive could occur if the method goes wrong in some unexpected way,
raising a different error than the one "not expected" - which would
make the test pass.  What we really care about is that *no* error
is raised.
Add Broadcast/Wait for Event expressions to Ruote

Our first custom expressions - these are basically cleaner ways of
setting up a specific type of :tag & await pair.  In vanilla route,
it's a bit of a pain to simply broadcast an event (leave a tag) and
catch that event globally with a :where clause without overwriting
any workitem data in the receiver.  This first iteration can only
compare sent workitem to received workitem, using the "this:" and
"event:" dollar prefixes; later we'll implement sending arbitrary
data with the broadcast that can be assessed in the where clause.