Fix bug in smoketest.py argument parsing

This was causing Reconfigure to fail. The bug was introduced in c49eb5
yesterday.
Reconfigure: exit with non-zero status when it didn't work
Add new Benchmark binary

It's just a copy of SmokeTest for starters.
Extend Benchmark to actually measure stuff
Fix another instance of assert(LibEvent::initialized)

Similar to d62b61, the problem is that asserts can get compiled out with
NDEBUG, but that line is supposed to have a side effect of forcing an
object file initialization dependency.