crowbar batch build: improve wait loop

It didn't correctly handle some states, e.g. when the proposal gets
queued.
barclamp_lib.rb: split up opt_parse into reusable chunks
barclamp_lib.rb: replace evil eval with call to lambda

AFAICS this feature supporting non-standard options is not currently
used by any script, so it should be safe to change.
crowbar_batch: add support for --include / --exclude
only reset role assignments if proposal YAML has deployment section
show time each proposal started being handled
handle times more gracefully and informatively