MB-12357 Make customs errors in updater possible

When there was an error in the updater it is not possible to send
a custom error. So if you throw a custom error:

    throw({custom_error, <<"this is the reason">>)

Such an error was always wrappen into another error tuple, hence
ending up as:

    {error, {custom_error, <<"this is the reason">>}}

This lead to a user visible response of:

    {"error":"error","reason":"{custom_error,<<\"this is the reason\">>}"}

This is not user-friendy or what you would expect. With this commit
the response is:

    {"error":"custom_error","reason":"this is the reason"}

Change-Id: If68ffb9d5b8d70de338a9441ed74edb2aa28f33a
Reviewed-on: http://review.couchbase.org/42163
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Reviewed-by: Sarath Lakshman <sarath@couchbase.com>
Tested-by: buildbot <build@couchbase.com>