Handle ints passed to `boolean_from_string`

The existing code would return True for '1' but False for int(1),
unlike Nova's version which would return True for both inputs.

Nova's version feels safer (i.e. it will do the most-likely-correct
thing if an int is passed in), so this patch changes
Openstack-Common's version to match.

Note that this patch does not make Openstack-Common's
`boolean_from_string` match Nova's `bool_from_string` exactly though.
Nova's version would return True for both '42' and 42, while
Openstack-Common's returns False. Though Nova's version, again, seems
safer, the presence of unit-tests in Openstack-Common asserting the
defined-correctness of this behavior makes me reluctant to change it.

Fixes bug 1178760

Change-Id: I8b2a31c4852884187bcbda3a4e78c8513b1bb8c8
Merge "Handle ints passed to `boolean_from_string`"