Allow for validation of objects.

Valitron currently extract fields from an array by iterating it using foreach.
This also works for basic objects, but does not work with objects that depend
on the magic __get method.
Rather than iterating an object to extract its attributes into an array,
this implementation introduces a special case for objects.
When a field is needed during validation,
the field is called in this fashion for an object:
	$data->$field
while for arrays its fetched just like before:
	$data[$field]
This makes sure any magic getters are used by this library when passing an object instead of array.
Should be `array|object` to make it clear BOTH types are allowed