Initial commit

The initial version is ready and workable. Some more testing should be
done, and consider implementing ability to catch only specific errors.