Proto service metadata

added service/rpc metadata methods:
get_service_def/0 - return tuple containing service definition, service name and a list of rpc's
get_rpc_names/0 - returns list of service rpc names atoms
find_rpc_def/1 - given an atom rpc name returns a rpc record containing rpc name, input and output
fetch_rpc_def/1 - same as find_rpc_def, throws error if rpc not found

one new unit test added that exercises new methods