Started to implement proto.h and iterating protocol

proto.h is a simple way to implement protocols/interfaces in C.  Our first stab
at using protocols is the iterating protocol, which nxn_list implements via
nxn_list_iterator.