source_tree() accepts options (hash) + test cases

See POD for 3 options that can now be supplied to
$schema->source_tree(). Options are also valided in several ways. Added
a bunch more tests for the different possible return values + testing
error handling