Defined type for spout processes in topology.
Renamed function emit_tuples/2 to emit_tuples_to/2.

Provides additional clarity about what the intended purpose is. Rather
than send itself (the publisher) a request to then send the tuples to
all of its subscribers, this function defines the format for how the
subscribers (which also implement the ydb_gen_pub behaviour) should
receive the message.
Added support for spout processes in topology.

Assumes that the spout process uses a registered name, and looks it up
by using erlang:whereis/1. Does nothing, i.e. returns `undefined` in
the case that the name is not register. This will cause the bolt
process to wait forever, as no `{publisher, ...}` message would ever be
sent.

Reversed the definition of the topology graph, so that directed from
left-to-right, it goes publisher to subscriber.

Changed the interface function so that they can be called on behalf of
a bolt process; `BoltPid` is now an additional parameter.