rcloud.with_progress becomes RCloud.UI.with_progress.

New semantics for RCloud.UI.with_progress:

with_progress takes a thunk that must return a promise. RCloud.UI.with_progress will wait for this promise to be either fulfilled or rejected, and will provide a UI indicator while promise is being processed. with_progress returns a new promise, which will either fulfill or be rejected when the promise in the thunk does. This means that anything that needs a progress tracker needs to happen inside the promise returned by the thunk. see shell_tab.js for examples. RCloud.UI.with_progress is re-entrant, so you it works even if your inner promise also has a with_progress call.

Fixes #529.
Merge branch 'bugfix-529' into develop