Add GetFileSize() to libcommon

Previously this functionality was only required in the
pinkySimCommandLine module but now I need it when dumping code coverage
results so I moved it out into libcommon instead.
Add CodeCoverage module

This modules ties together the flash memory read counters in the
MemorySim module with the output from the ElfLines module to generate
output indicating the code coverage obtained.

It generates:
* A summary.txt in the output directory summarizing the overall
  percentage of code coverage obtained for each source file.
* Detailed files matching the original source code files with a .cov
  suffix.  These files contain the source code with a prefix on each
  line indicating how many times that line was executed.  For higher
  level code where more than one line of machine language will match up
  with a single line of source code, it displays the minimum execution
  count encountered across all of the matching machine language
  instructions.
  ** A line with a '-' prefix indicates that the line of code doesn't
     correspond to an executable line of machine code.
  ** A line with a "#####" prefix indicates that the line of code is
     executable but wasn't hit while running the program under the
     simulator.