Added prelim unit tests and fixed bug in cross_function::set_mem_fn when using base interfaces