Improved error handling across the board

Runits will fail sooner with better msg.
Fix KMeansApply for locking result cluster VA
20ish API pages that catch Error now return request.error(e) instead of
just the error message - which is NULL is an assertion failed.