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.