implement a simple code coverage tool

To use the tool, pass --code-coverage. On exit, for each source file foo.jl for which we have data, write foo.jl.cov next to the original file, with execution counts in front of each line, or "-" if no data.

Also start consolidating compiler options into a jl_compileropts struct. I think we will want to add many more options, and this will make it easier.