JS compatability

Interfaces for Java turned into Abstract Classes to avoid ambiguity
in JS. *sigh*

Javascript Adapter properly turns returned promise from NativeJava
Object into Promise.
Errors bubbling in JS
Reject from JS fix
Minor change - accept all types of objects

Uses toString()
Properly passing exceptions
Cleanup of promises.js
Minor documentation
Testing RxJava compatability
Oops! This file didn't make it in.
Fix test breaking
Add test for js scoping