Tokenizer and utils: bug fixes and cleanups

Tokenizer (ewDciTokStrm):
    change interface so this always takes an istream.  This removes any special logic for cin.
    removed old code for handling <DOC> and <COMMENT> tags
    fix bug where the last token in a sentence wouldn't be split
    fix bug where abbreviations in quotes weren't split properly (e.g. "G.B.")
parseIt: adjusted to use new ewDciTokStrm istream interface
Utils: standardize capitalization of escape_parens and find_and_replace
ExtPos: fix annoying typo
Makefile: switch "make" to "$(MAKE)" so parallel building will work
PARSE: Don't crash when model names don't end in '/'
TRAIN: Don't crash when model names don't end in '/' and some minor cleanups
Removed some commented out code and unused variables, made programs accurately
identify themselves.
TRAIN/Makefile: add real-clean target
Add Java and Python SWIG wrappers for the first stage parser.
swig/wrapper.i: The SWIG wrapper itself
swig/*/test: Some simple examples/tests for the wrapper
Makefile:
    refactored out lots of common object lists, removed cruft
    new target real-clean for making distributions
    add swig-java, swig-java-test, swig-python, swig-python-test, and
    swig-clean targets
ThreadManager: system to manage "thread slots" when SWIG is used in
    multithreading mode
weakdecls.h: made the error() function "weak" so we can override it in the
    SWIG wrapper and not call abort()
.hgignore: include all the new generated junk
.hgignore: Add wlle program binaries, *.orig (made by 'hg revert' commands)
Add Java and Python SWIG wrappers for the second stage reranker.
swig/wrapper.i: The wrapper itself
simple-api.*: Since much of the reranker code lives in headers, made
    a simple API for reranker functionality for easier wrapping in SWIG.
Makefile: add swig-java, swig-python, swig-python-test, swig-clean targets
    Remove tags files in real-clean.
SWIG support in main Makefile and higher level Python interfaces.
Makefile: add swig-python, swig-java, swig-clean targets
swig/RerankingParser.py: higher level interface around the whole pipeline.
    It should be harder to crash this when using this vs. the
    lower level SWIGParser/SWIGReranker interfaces.
swig/ParserShell.py: demo application which uses RerankingParser.py.
    Optionally uses NLTK for tree visualization.
second-stage/programs/Makefile: make -> $(MAKE) for better parallel building
parse-50best.sh: This script works out-of-the-box again.
Feature.h: Bump up maximum number of threads to 64
ewDciTokStrm: Fix more tokenization issues which modify the input
Sentences like "X, Y.Z." and "(A.B.)" were getting additional periods.
We try not to modify the input any more since this can confuse downstream
components.
SWIG Python interface: reranking now happens in the parse() and parse_tagged()
functions if the new parameter rerank=True
Remove files derived from Numerical Recipes book.
This will break the cvlm optimizer, unfortunately.
Remove questionably licensed files restorer.
The hope is to rewrite one of the optimizers in Apache-friendly ways.