Before I dig into this - do we *really* want to do this? 10MB isn't "very large" really, and that's perfectly sufficient. How bad really is an expected waste of 5MB per Sprout/Bono on today's hardware?

An alternative would be to make the pool allocator smarter - instead of allocating same-size chunks, it could exponentially increase chunk size. That would have a larger expected waste(~30MB), but be more adapative.

If we do want to go down the sizeof() route, I started looking at how we'd calculate it - details follow. It looks to me like all the uses of the endpoint pool are in sip_endpoint.c. We create:

* an Accept, Allow, and Supported header and add capability tags.
* a Max-Forwards header.
* a mutex each for modules, events, timer heap
* the name of the endpoint.
* the timer heap - pj_timer_heap_mem_size(count)
* the ioqueue (various variants possible - I assume we use ioqueue_epoll?)
* the transport manager
* the DNS resolver