clock: Add separate pre() and post() methods

To pause the engines around the entire reclocking procedure, not just for core clocks
fb/ramnva3: WIP Very special link training unit
fb/ramnva3: Use ram->base structs instead of local structs

This will ease the use of generic timing and MR generation bits later
fb/ramnva3: Ressurect timing calculation code
fb/nva3: WIP Start on some reclocking bits
fb/sddr3: WIP Expand MR generation with various bits
pwr/memx: WIP Wait for VBLANK if desired
WIP train external hook