API Handler error codes

High level handler error codes, each particular handler can be fit into one of the following categories. A good approach could be the following. This required coordination among all the errors, just for now, this solution seems ok.

enum YourOwnHandlerEnum {
    FOO_ERROR = Codes::SOME_CATEGORY,
    ...
};
class Codes
enumerator CONFIGURATION = 1

Errors during configuration api handling.

enumerator METRIC = 1000

Errors during metrics api handling.

enumerator RECORD = 2000

Errors during record api handling.

enumerator SERVER = 3000

Errors during server api handling.

enumerator STORAGE = 4000

Errors during storage api handling.

enumerator PLUGIN = 4000

Errors during plugion api handling.

enumerator GENERIC = 30000

Errors during generic api handling, general errors.