Provide a __main__ entry point

Provide nose.__main__, so nose can be invoked as python -m nose

Closes: #634
Use sys.executable instead of a hard-coded 'python'
Merge pull request #635 from stefanor/executable_module

Provide a __main__ entry point
Fix #637: nose install fails w/ traceback using python 3.3.0

To cope with multiprocessing, nose attempts to rewrite some scripts.  It
turns out that some of the "scripts" are actually executables.  Under
Python 2.x, we'd just perform the substitution on the executable too,
but it never matched anything, and therefore, never replaced any bytes.
Under Python 3, that tactic no longer works because the scripts come as
a string, while the executables come as bytes.  We shouldn't try to
rewrite an executable anyways, so let's just skip them.
Merge pull request #638 from jszakmeister/fix-setup-win-3.3

Fix #637: nose install fails w/ traceback using python 3.3.0
Fix --cover-min-percentage with --cover-branches

When using the `--cover-min-percentage` option, the regex responsible
for extracting the cover percentage fails due to extra columns in the
result text when the `--cover-branches` option is also specified.

Using an optional (and non-capturing) group within the regex, we can
recognize a match whether or not the extra columns are present. This
fixes #626.

Note: The two other lines modified in this commit have only had the
trailing whitespace on the line removed.
Fix --cover-min-percentage with single packages.

It turns out that coverage doesn't generate a TOTAL line when only one
package is being covered.  As a result, we'd fail to parse the output
and assert accordingly.  Fix this by first trying a multi-package
regexp, and fall back to a single package version if the multi-package
one fails.  Also added several tests to make sure this works with and
without --cover-branches.
Add missing setup for py33 in tox.ini.
Fix a twisted test to work with Twisted 12.3.0 or better.

Twisted has updated trial to work better with unittest's test runner.
As a result, skipped tests are no longer reported as failures.  Since
this is the desired result, fix the test to no longer expect a failure
for the skipped test.  This was tested from Twisted 10.0 to 12.3.
Fix broken duplicate handler detection.

The old logic is broken (at least with newer versions of Python).  New
handler objects are created, and there is no mechanism for comparison,
so it resorts to using the object id.  This means that duplicate
handlers are not detected at all.  Let's check the baseFilename of
FileHandlers and the stream attribute of StreamHandlers as a way of
detecting duplicates instead.

With this change, the repeated log messages are greatly reduced.
Remove reference to deleted file from the docs

File doc_tests/test_coverage_html/coverage_html.rst was deleted in
commit 6347cd149f5f5f9f06ade7d635dc52245fd50124.
Document what --processes=0 does
Document default value of --process-timeout
Merge pull request #645 from tkf/processes-zero

Document parallel testing plugin options
Merge pull request #643 from mitya57/doc-fixes

Remove reference to deleted file from the docs
Merge pull request #641 from jszakmeister/no-multiple-handlers

Fix broken duplicate handler detection.
Merge pull request #640 from jszakmeister/fix-test-with-newer-twisted

Fix a twisted test to work with Twisted 12.3.0 or better.
do not use deprecated compiler module

At least in Python versions >= 2.6, fixes #115
make nose.util.isgenerator() work on Python 3

- True if either a generator expr or a generator function
- isgenerator() to use existing UnboundMethod workaround
Fix spelling option names in docstring

The cover-package option and environment variable name in the docstring
are spelled with a plural, whereas the actual names are not. Trying to
use the plural version results in a `nose.config.ConfigError`.