Mark copy constructor and copy assignment of the monitor implementations as delete.
Add static monitor::create_monitor factory function to create a monitor of the specified type.
Simplify monitor creation in C by using the C++ factory methods.
Update libfsw_exception to optionally represent an integer error code and add a conversion operator.
Move error definitions to a separate header to share it between C and C++ code.
Set FSW_ERR_UNKNOWN_ERROR as default error code in libfsw_exception.