Extensible error library.
##Creating an error
var CFError = require('cf-errors');
var error = new CFError("error message");
###Extending the error
var error = new CFError({field: "value", message: `error message`});
###Setting the error name
var error = new CFError({name: "ErrorType", message: "my error name"});
###Passing multiple objects will extend the previous objects
var error = new CFError({field: "value", message: `error message`}, {field2: "value"}, {field: "override first value"});
###Last argument passed to the constructor can be a string, which will populate the message field automatically
var error = new CFError({field: "value", message: `error message`}, {field2: "value"}, "my error message");