add Module#module_function
Merge pull request #2478 from dreamedge/add_module_function

add Module#module_function