add basic csr types and interfaces
add csr_mem module
add unittest for csr_mem