Distinguish between user and system errors
As per pgtopo_update_sql#312 (closed) we want client to be able to tell if an operation failed due to user input or to something that is NOT POSSIBLE for the user to fix.
For example: if the user tries to split more surfaces than allowed by application configuration that's a user-input failure, while if the disk is full that's a system failure