Move relayMaxQueueLength into factory for improved visibility.

When in the protocol object, downstream disconnections cause this metric to disappear (the protocol obj gets effectively deleted if downstream completely disappears). Given the data in question is in the factory anyway, this seems like the correct place for the instrumentation.

This has been tested in my prod environment (the 0.9.x version) and lets me diagnose full-queue issues.