Bug fixes

* The regex based replacement have problems with format syntax
* An invalid JSON in example
* ParsingResult is not reusable before
Design change: no more two constructors

This allow the use of movable types, such as `std::unique_ptr`
`constructor_code` is more flexible than the previous array typed
`default`