Skip definitions of built-in loopback models

LoopBack built-in models are special: they follow the loopback-boot
structure and provide `common/models/{name}.json` files, but they are
also automatically loaded (created) by loopback.

This change modifies `executor` to recognize built-in models and do not
redefine them.
compiler: support module-relative model sources

Interpret model sources in the same way how `require.resolve`
interprets the path:

 - values starting with `./` and `../` are relative to the file
   where they are specified

 - other values are relative to node modules folders

This way it's possible to specify a source `loopback/common/models`
and have it resolved to whatever place the loopback is installed.
Merge pull request #60 from strongloop/feature/skip-builtin-loopback-models

Skip definitions of built-in loopback models
2.2.0
Merge branch 'release/2.2.0' into production
Merge tag 'v2.2.0'

2.2.0
added failing test for coffee-script models

Signed-off-by: bitmage <q@bitmage.net>
added fix for coffee-script models

Signed-off-by: bitmage <q@bitmage.net>
only load model file extensions that are registered with require.extensions
(coffee-script test now fails)

Signed-off-by: bitmage <q@bitmage.net>
added coffee-script register to the test - now passes

Signed-off-by: bitmage <q@bitmage.net>
added browser test for coffee-script app

Signed-off-by: bitmage <q@bitmage.net>
added docs for coffee-script

Signed-off-by: bitmage <q@bitmage.net>
fixed require.cache issue causing test to fail

Signed-off-by: bitmage <q@bitmage.net>
comply with code standards

Signed-off-by: bitmage <q@bitmage.net>
removed coffee-script cleanup code

Signed-off-by: bitmage <q@bitmage.net>