Continuation of stalled factor-out-source-tree branch

This adds a source_tree method (and helper methods) to Schema.pm returning details about the dependencies between sources in a schema.

A test is included and the todo's in 
https://github.com/dbsrgits/dbix-class/blob/topic/factor-out-source-tree/TO_MERGE
have (hopefully) all been implemented. 

Please check if the "hard" attribute for relations is set as intended.