added failed() call if unanswerable (due to peerConnection/forking proxy limitations) branch picks up first
autostart now defaults to true, is used more properly; get(Local/Remote)Streams can now be called from the session again
refactored refer code to be more flexible