Definition#validate now accepts Hash input

Rather than Configuration. This makes it a bit more flexible, as the
user doesn't have to construct Configuration instances unless she wants to.