Refactored the matcher for Node to allow mounting Faye at the root path

As brought up by a Rubyist in #216, the new endpoint matcher prevents you from mounting Faye at the root path ("/"). Moreover, its extension matching rule `(\\.[^\\.]+)?` was never matching anything because the regular expression that came just before it would short-circuit it every time.

Given a mountpoint of "/", this new matcher will match:

    /
    /faye-browser.js
    /foo
    /foo/
    /foo/bar
    /foo/bar/

Given a mountpoint of "/bayeux", this new matcher will match:

    /bayeux
    /bayeux/faye-browser.js
    /bayeux/foo
    /bayeux/foo/
    /bayeux/foo/bar
    /bayeux/foo/bar/

…but will **not** match:

    /bayeux/

This behavior should be consistent with @jcoglan's comment here: https://github.com/faye/faye/issues/170#issuecomment-10144269