Fix copy&paste error in function docstring
Minimise dependencies to increase scope of coverage testability

- Removed all use of io by replicating the Writer interface.
- Removed all use of fmt.Errorf, formatting strings manually
  and creating an internal "strerror" error type.
- Removed all use of fmt.Fprintf, formatting strings manually,
  using a hand written itoa, and using syscall to write to
  file descriptors.
- Moved parser to subpackage.

Also: fixed a bug where child processes were picking up GOCOVOUT
and writing to the output file, clobbering output from the parent
process.
Enable coverage of "testing" package, and gocov itself
Preallocate "At()", "Enter()" and "Leave()" strings

Some tests in net/http were failing due to gocov's
instrumentation adding heap allocation into the
tested code. This avoids doing that, allowing the
tests to pass again, and should also reduce overhead
of the instrumentation a tad.
Add "-run" flag for "gocov test"
Improve coverage testing of gocov
Addressing code review comments.
Merge pull request #16 from axw/goroot

Support coverage testing of GOROOT packages