Add an initial makefile for pepper.js.
Get things to build with pepper.js.
Correct the Makefile for Javascript to build the .js with emscripten.
Get GWT code to call into Javascript code generated by emscripten.
A few more changes to move the JS process along.

* Move the emscripten HTML element inside the listener div.
* Register the listener for the handle message event with the emscripten HTML element.
* Build the ppapi to get the implementation of the PPP_GetInterface method.
Use the C++ PPAPI as well.
Call finishedLoading in order to complete the loading process.
Use defines to avoid threading with Emscripten.
Remove the use of std::dyanmic_pointer_cast, which does not seem to work with Emscripten.
Change emscripten to allow memory growth and attempt to build with exceptions.
Modify make command to work with emscripten and pepper.js.
Increase the version number and add an indication of the build target.
Change to use one object for nacl and emscripten so that load events will work correctly.
Allow the pnacl or javascript versions to be selected or detected.
Add an expected<T> class to store a value or an exception.

* Update the make files to allow the tests to be built using newlib. Although the newlib toolchain does not have a newer C++ compiler it is much faster than the pnacl toolchain
* Add test for the expected<T> class.
Remove all exceptions from commands.
Remove more exception throwing.
Get all unit tests to build again.
Commit in-progress work to remove exceptions.
Get tests to pass with no exceptions.

* Use a variation of the expected<T> pattern to store exception messages instead of throwing them.
* If a value is obtained when it does not exist, always throw a runtime_error exception. This is not ideal, but it works in this case, since normally I only need the message from the exception anyway.
* Leave exceptions in low-level classes like matrix, so that we can still have error checking. These exceptio ns should never be thrown based on user input.