Fixed routes with CatchAll argument, in order to make them succesfully
match requests with empty (or null) catch-all portion.

Included a couple of unit-tests which pass both here, and on ms.net land.

License: This patch is under MIT/X11 license.
[monkeydoc] Remove debug spew
[monkeydoc] Remove hard-copy of Lucene.net
[monkeydoc] Implement GetHashCode for EcmaDesc
[monkeydoc] Use Lucene.Net via a submodule set on their 3.0.3 release
[Microsoft.Build.Tasks] Put failing test into NotWorking category as they are dependent on environment.
[monkeydoc] Fix generated ecma: url format
[monkeydoc] Purge extra id parameters in ecma-provider
[monkeydoc] Enable ecma XML rendering
[monkeydoc] Correctly process arguments given to the ecma html-izer
[monkeydoc] Fill in more details about the node for rendering to work correctly
[monkeydoc] Don't mistakenly close the zip out stream when storing text.
[monkeydoc] Create the summary files in ecma-provider
Revert "[monkeydoc] Remove debug spew"

This reverts commit 8344309a7b2285db8ebb0af5ec8651d6bf02f375.
[monkeydoc] Avoid variable name clash
[monkeydoc] Use a map to quickly access zip archive content.
[monkeydoc] Only calculate internal id if necessary
[monkeydoc] Proxy back GetCachedHelpStream to the right member
[monkeydoc] Handle more special generation case
[monkeydoc] Disable now unneeded hack