Typo fix.
Typo fix.
Make websocket path relative to Shiny page path

This is necessary for proxy situations that don't override the
Shiny.createSocket function (so, not including Shiny Server,
but more like Nginx, HAProxy, and a future version of RStudio
Server).

Without the path being preserved, it's impossible for these
proxies to know that the URL should be forwarded to the host
and port that belongs to Shiny.
Conditional panel expressions were broken for typed inputs
choose a random port for runApp and continue to use it for the duration of the session unless explicitly overridden
use .globals rather than .runContext
cleans up two instances of tryCatch() that can be avoided for #249
closes #249; use try2() instead of try(), so that users can set options(shiny.try = FALSE) to disable try()

closes #217 as well (duplciate)