Add grep functionality for test filtering

- Use `grep` option on command line or in config file to specify a
  regular expression used to filter tests by ID
- All tests accepted by default (grep=/.*/)
- Filtered tests are skipped at runtime
- Console and runner reporters now add " (x skipped)" to the test
  results if tests were skipped.
- Console reporter now reports "x/y failed" rather than "x/y passed" so
  that the "x skipped" message will make sense, and for consistency with
  the runner reporter.
Take functionalSuites from command-line arguments

Fixes #123.
Improve proxy performance by disabling TCP optimization

Closes #235.
Allow proxying to subdirectories with proxyUrl

Fixes #250. Closes #251.
Fix missing code coverage when running on Windows

Closes #255.
Allow users to run functional tests without running through unit tests first

Closes #241.
Add an HTML reporter and make it a default for the browser client

Fixes #103. Closes #194.

Also-by: Mangala SSS Khalsa <mkhalsa@sitepen.com>
Also-by: Jason Cheatham <j.cheatham@gmail.com>
Change suite error handling to fatal error handling in console reporter

Suite errors report as fatal errors anyway, so such failures will still
be reported.

Fixes #213.
Add Suite#timeElapsed
Fix whitespace errors
Expose error message formatting function for use by reporters
Add JUnit XML reporter

Fixes #102. Closes #193.

Also-by: Mangala SSS Khalsa <mkhalsa@sitepen.com>
Also-by: Jason Cheatham <j.cheatham@gmail.com>