Adjust Aggregate (parent of Vec and Bundle) to intercept getWidth calls and actually calculate the projected width properly. Also, moved Aggregate into its own file so that it is easier to find. Note, the getWidth implementation for Aggregate is relatively simple (in that it merely calls getWidth on constituent elements and adds them together) and thus does not account for all the weird states a design could be in with respect to width inference.