issue passing errors to validateFunc

I noticed if you pass a non-null value that is not an instance of Error as err to validateFunc it will return a 200 status code, even with isValid set to false e.g.
````
validateFunc: function(username, password, callback) {
  return callback({error: 'test error'}, false, null)
}
````
This PR just contains a unit case to highlight this, what should the expected behaviour be here?