fix watchman debug-status by fixing json boolean and std::optional encoding
fix watchman debug-status by fixing json boolean and std::optional encoding

Summary:
I landed a series of diffs that introduced two regressions in
debug-status -- one where JSON booleans are output as integers, and
another where std::nullopt is converted to an undefined json_ref.

These were fixed later in the original stack, but, to unblock the
release, let's backport the fixes before landing anything else.

More unit tests are coming later in the stack.

Reviewed By: xavierd

Differential Revision: D35910017

fbshipit-source-id: 63e8ccbeb272c7262f78e6504047a0b48a6b5b71

facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman