Added Data.isDirectionless method. Returns true if the Data (and for Bundles, all enclosed Data) has no associated direction and thus can be safely used as a struct inside a component. Intended use case is require(data.isDirectionless) in components that wish to guard against a bad constructor data input. Future commits will demonstrate this use to protect some of the ChiselUtil standard library components.