Ensure tobool returns a boolean object

The strotobool function from distutils return an integer, not a boolean.
Encapsulate the function to ensure the return value is actually a
boolean type.
Add automatic type conversion to begin.convert()

Enable the automatic conversion of arguments with defaults that are
built-in types. Automatic conversion is not enabled by default, requires
an additional argument to be passed to begin.convert() to enact.