Flexible ExtensionRewriter & more capable server.

This branch gets rid of the outputMap functionality and allows Lingon to find and build the requested file directly in server mode. 

**This fixes some bugs related to tree changes:**

Before a file could not reliably be renamed while lingon was running because the outputMap was only computed once, at lingon start.

**ExtensionRewriter:**

* Rebuilt using a lexer approach
* Now handles rewrites with multiple segments (json.ejs => json).
* Can take a destination file (http request path) and produce a list of candidate source files.

**server:**

* Uses the ExtensionRewriter directly to find candidate files
* Scans for candidate files on request and caches them when found
* Keep it's own internal cache state for mapping request paths -> source files

**lingon core:**

* Refactored to use the new ExtensionsRewriter
* Moved default extensions mappings to the lingon.config object

**docs:**

* Added a section on extensions rewriting to the USAGE docs.