Trigger on_failure for 404s

Unless I'm mistaken, Curl::Easy doesn't actually trigger on_failure for a 404 response. The docs say that it is thrown only for 50x errors, which matches my personal experience, and I've also seen it echoed here: http://stackoverflow.com/questions/10076465/ruby-curb-callbacks-order

This pull request adds an on_complete handler which checks to see if the request threw a 404, and if it did, it will call the passed in on_failure method.