Move cost, cardinality, and solvedPredicates back into LogicalPlan

o Replaces PlanTableEntry with LogicalPlan
o Pulls cost and cardinality estimation code out of planners into logical plans
o Some clean up and test refactoring on the side
Move SemanticTable into LogicalPlanContext and cleanup leaf planners

o Unravels issue around Identifier <-> IdName confusion:
   (1) Might want to replace IdName with Identifier again since we don't have types for the latter
   (2) IdNames can be ambiguous due to name shadowing