feat: move all link configuration to generic instead of ports
Configuration is same for one compilation, it cannot change.
Thus it does not make sense to be a port.
Resolves #13.
fix(lane): output user_data based on current link state in lane_alignment
chore: add documentation to the code
fix(link): make testbenches work in quartus, fix old testbenches
fix(link): correctly change next_error when generation order
feat(link): output frame_character from data link, add user_data to character
feat(link): add lane alignment