CSR can now set values which were not preallocated. Started writing CSR unit tests, including setting values not already allocated, all of which pass.