node.js/browserify/waf build cross compatability

This Pull request allows NDN-js to be used as a node module following npm semantics, and also to be used in the browser via browserify, while still containing a standalone code base that can be built into a compressed js file for inclusion via script tag.

Relevant changes:

package.json : bare file, should be updated with proper keywords/license/copywrite before publishing. Aliases js/crypto.js to js/browserify.js (see below for note on crypto.js)

in js/data, js/encoding/tlv-01 : require("crypto") replaced with require("./crypto.js")

in contrib/securityLib : *.js files include require()'s and module.exports, so as to allow browserify to properly bundle them. These requires follow the semantics of the rest of NDN-js so that our internal require will work in the waf generated library.

in js/browserify.js : require() security libs for browserify build and refactor waf require definition into seperate file so it doesn't conflict.

in wscript : place js/browserify.js and contrib/feross/buffer.js after securityLibs, keeping js/browserify-require.js at the beginning.

js/crypto.js : one line file that acts as a facade for require("crypto"). What this accomplishes:

when in node.js : require("./crypto.js") >> js/crypto.js >> require("crypto") >> node crypto module
when in waf generated <script> : require("./crypto.js") >> function require(ignore){return ndn } >> ndn/exports
when in browserify : require("./crypto.js") >{package.json redirects browserify}> require("./js/browserify.js") >> js/browserify module.exports {createSign, createVerify etc} 

TL; DR 
html browser tests continue to work with waf genereted script, 
Using browserify in a project where window.ndn = require("ndn-js") creates a valid ndn object with all the functionality intact. 
In node.js: ndn-js signs, encodes, decodes, and verify's data correctly.