Modify json_leaf to handle numerical & boolean data properly

* add json_leaf_numerical&lt;T&gt; class to handle numerical data
* json_leaf is now a template class, and json_leaf&lt;int&gt;, json_leaf&lt;double&gt;, json_leaf&lt;bool&gt; are specialized
* fix a little bug