Issue/#34 - Passing a list of callables for validation

I took sloria's comment into consideration and refactored slightly the code to handle collections and generator (+expanding the unit test cases)