Add a basic setup.py

(Still need to DRY the definition of the version number)
Fix or whitelist some PyLint complaints.
Use %default rather than %s for subbing defaults into --help text.
Document OverWriter.write()
Implement --prefer, --noninteractive, and --dry-run (Fixes #5)
Fix a documentation mistake in groupByContent()

(It returns a dict, not a list)
Split main() apart into several functions to make it more readable.
Unify --exclude and --prefer matching code on better fnmatch glob code.

- Write multiglob_compile to allow a list of fnmatch globs to be combined
  into a single "A or B or C" regexp so each path only needs to be examined
  once and the regexp can be cached.
- Change both --exclude and --prefer to use multiglob_compile and only call
  it once each per run.
Add a -n shorthand for --dry-run
Add documentation for --prefer and related switches to README.md