Move ErrorList to util

Part of ip-per-service
Nit: I do not approve of this, it means folks can't do ```if el, ok := err.(ErrorList)``` to access the insides of the error list. Needs at least a reversing function. I won't block on this since I realize you're just moving it.