Fixed opt_boolean and added test.
The general rule of treating nil like none doesn't work here because nil -> none -> default argument often gives you true, which contradicts how nil acts like false in Lua itself and leads to some strange silent results.
Closes #1556 (closed) Boolean Parameters Treat nil as true.