add dtype to function implementation registerer
add dtype to function implementation registerer

Function implementation should be registered with Function::Signature
as key, which is the format like "def_name:dtype" . While Function Def's
name should be def_name

Function implementation should deal with datatype, Function Def should
ignare the specific datatype.

Superjom/cHasky,Superjom/cHasky,Superjom/cHasky