Include source information in JSON output.

sourcePath was missing for bodies, and offset/offsetEnd doesn't reference location in the source file. Include the line within the source as well.

This works around the issue in https://cfengine.com/dev/issues/3054 - that should still be fixed though. It gives me what is needed for embedded documentation, although with only the beginning of the object in the JSON I have to then parse for the end of the bundle/body when quoting the code.