keynsham: move cs generation into slaves.

This cleans up the soc level code in preparation for generating the
memory map from json.
rtl: parameterize peripheral locations and generate during build.

This guarantees that the software simulation and rtl have the same
memory map, cache configuration etc.  This will pave the way for
parameterized builds, soc variants etc and autogenerated documentation.