convert DAGService to an interface

Here is DAGService  conversion, leaving the spiltter as-is.

Looking at BlockService, it would makes sense to interface that too, but for me at this point I'd rather have a RPC backed DAGService because its a much more naive way to add objects.

I would perhaps like to run multiple BlockExchange nodes on the same datastore, so that I might publish objects to different networks without exposing the relationship between my different addresses.
There is alot more that goes into that, but its something I've been thinking about.


I wonder why this nil check is here... I dont like it...