Added resolve() api entrypoint

Added resolve() api to compile a template and resolve it's dependency tree of template files used to generate that function.

The purpose of this addition is to allow staleness checking on generated output from jade, since just checking the modification of the template file itself may not indicate that one of its dependencies (either through `extends` or `include` has changed). I'm using this functionality in https://github.com/sdether/connect-jaded, a piece of middleware that, like stylus does for css, lets you write your static content in jade rather than html, but still serve static html for performance and caching reasons.

The added syntax is:
```
jade.resolve('str',options) => 
{
  fn: [compiled function],
  dependencies: {
    [filepath]: {
      [include1path]: {},
      [include2path]: {
        [subinclude1path]: {}
      }
    }
  }
}
```

Also added the following tests:
```
  jade
    .resolve()
      ✓ should return the same function as compile as part of its output
      ✓ should list the filename of the template referenced by extends
      ✓ should list the filename of the template referenced by an include
      ✓ should list the dependencies of extends dependencies
      ✓ should list the dependencies of include dependencies
```