Update join resolver to select min cost join clause

1. Figure out all join paths between dimensions tables and targets
2. Updated CandidateTableResolver to remove tables which will not be part of a join path
3. Updated join resolver to use min cost join clause