Fix incorrect 'okay' callback from router

Because of an incorrect use of 'xxx and yyy() or zzz()' where yyy() does
not return anything, zzz() was being executed (in this case, the 'done'
callback); fixed by switching to proper ternary operator.
Various improvements to error messages

Uses format() for urllib2-based error messages rather than attempting to
walk the object, adds a message before the exception string on preview
and single record, and strips HTML output before displaying it in the
on-the-fly review mode.