Separate basic testing and coverage testing in makefile targets.

This makes `coverage` an optional dependency.

`make test` tests without coverage.

`make test_with_coverage` does the obvious.

.travis.yml updated to use `make test_with_coverage`.
Changes report target to coverage_report
Marks all targets as .PHONY
Merge pull request #143 from enthought/feature/refactor-test-targets

Separate basic testing and coverage testing in makefile targets.