* Add cjson module
* Create structure for cjson module
* Implemenet loads function
* Convert cJsonBool to python boolean
* Implement dumps function
* Convert json bool and null to python Bool and None
* necessary changes of project structure
* Update amalgamate.py
* Support non-dictionary json objects (list, tuple, string, number, bool, null)
* Fix tests
* fix CI
* fix CI
* Convert python to cJson and then to string
* Delete cJSON object after use
---------
Co-authored-by: Mahbub Alam <alam.mahbub214@gmail.com>
Co-authored-by: blueloveTH <blueloveth@foxmail.com>
Number::stoi may raise std::out_of_range but it cannot be caught via catch(std::exception&). We use catch(...) for now. Note that catch(...) may catch pkpy::Exception or any others.