Bug 866723 - Create node.js bindings. r=gandalf

File layout changes:

 - bindings/ are now outside of lib/
 - platform-specific code should put in modules starting with l20n/platform/
 - node-specific code is in lib/l20n/platform/
 - client-specific code is in lib/client/l20n/platform/
 - platform-specific code includes: io, globals and intl

Code changes:

 - l20n and l20n/platform/io export functions, not a singleton;  this way, you
   can directly do something like:

     var L20n = require('./l20n')
     L20n.getContext()

 - modules that export constructors still need to require them explicitly, e.g.

     var Parser = require('./parser').Parser;

 - l20n/platform/io is consistent in how it rejects promises or throws errors;
   I filed https://bugzilla.mozilla.org/show_bug.cgi?id=869016 as a follow-up
   to clean up the error handling code.