Add is_const_ref traits, fix a bug when type is reference in iterator traits