CA-146595: Improve parsing of VM platform flags

We need to be able to use 0 and 1 in (at least) the case of the acpi key.
Before this patch, using 0 and 1 would have both been converted to true when
passed to Xenopsd and therefore wrong arguments could be passed to Qemu when
trying to disable this feature.

This patch makes the 'bool' function a little more lenient on its input rather
than using OCaml's stock bool_of_string. It also introduces a warning message
if the value has been specified incorrectly.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
@robhoes this is difficult since `find : (string -> 'a) -> (string * string) list -> 'a -> string -> 'a` and so the default is polymorphic. The only way to do this would be to pass a `printer : 'a -> string` function too.