clone should only be on the levels we mutate so it does not lose knex.raw instance, etc

By using `cloneDeep`, lodash changes the return value of  `knex.raw` from an instance of `Raw` into a plain object.  Knex does an instanceof check on `Raw` during insert.  If it isn't an instanceof `Raw`, it tries to `JSON.stringify` and throws a circular structure error.  This PR does a clone of only the levels we mutate.