Fix warning in Visual Studio:

warning C4146: unary minus operator applied to unsigned type, result still unsigned
Add missing line from previous fix.
Explicity disallow get_idx for boolean type, to avoid ambiguity with a map.
Fix conversion for C-strings (both literals and normal C-strings) so it compiles on Visual Studio.
Rename clear() to reset(), and it now takes an optional node parameter.
Add std::pair conversion specialization.
Add better exception reporting when incorrectly dereferencing an iterator.
Switch default precision to one more than the number of digits allows.

See, e.g., http://stackoverflow.com/questions/4738768/printing-double-without-losing-precision.
Merge to fix default precision for floats.
Fix floating point precision on input.
Fix bug where the string "null" (without quotes) is deserialized as a string, instead of null.
Merge null string bug fix from core, plus bug fix regarding use-after-delete for a token that seems to have been ignored.
Bumped version to 0.5.1
Added tag release-0.5.1 for changeset 98e9aefe6778