Fix compatibility with browserify (Fixes #41)

This fix try hard to change almost nothing in 
the original implementation. 

This fix add two entry in package.json:
  - "browser" to override per-module some 
    dependency with an empty source file
  - "browserify" to add a transformation that 
    append a `module.exports = jsonldjs;` at
    the bottom of `js/jsonld.js` source.

And one dependency:
  - through

And one retro-compatible change on `js/jsonld.js` 
to allow the use of the bundled `js/Promise.js`.
Always remove last base segment when calculating relative urls.
Release 0.1.28.
Start 0.1.29.
Ignore module 'request' when using browserify
fix: Use an external transform module for browserify transform

Prior to browserify v3.17.0, using a relative path within transform
options in a package.json does not resolve module path relatively 
to this package.json

Using an external module instead of relative path works with all 
browserify version >= 2.0.0
Merge pull request #56 from nopnop/compatibility_with_browserify

Fix compatibility with browserify (Fixes #41)
Minor style fixes.
Use proper ES6 Promise polyfill.

- This changes returned Promise objects somewhat; but
  hopefully won't affect too much.
- Bump minor version (public API still not considered stable,
  major is staying at 0).
Fix IE "invalid calling object" bug.
Release 0.2.0.
Start 0.2.1.