Error handling logic, more options, small optimizations

This includes the commits that are in https://github.com/Swizec/node-unshortener/pull/19