LBCORE-216 Add a new layout that produces JSON

Add a JsonLayout implemented with no external dependencies.