`lein test` may exit with reserved/illegal exit codes

`lein test` will currently exit with an exit code which is the sum of failures and errors within tests. This is bad, as exit code 2, 126-165 and 255 have special meanings in bash, and other shells/standards have different reserved exit codes. It seems reasonable to exit with the exit code 1 whenever failures/errors have occurred (as that seems to be the general error exit code for more or less all standards), and 0 otherwise. Offending lines are within [test.clj](https://github.com/technomancy/leiningen/blob/45c7af9f697b5da8cd33b1c9c722c693e3de6075/src/leiningen/test.clj#L100-L102).

Note: This will be a breaking change, so it's reasonable to wait with this until we hit 3.0.0 devel.