Add Module#{public,protected,private} specs

Many ported from Module#module_function.
Fix Module#{public,protected,private} without arguments in eval