Added bandwidth monitoring feature

There is a change I use in one of my game. It allowed me to track bandwidth usage at bytes level.
Both TCP and UDP connection have his own bandwidth monitor. 

Typical usage:

To get debug output (current bandwidth once per second in console)
client.getTcp().getBandwidth().setDebug(true); 

To retrieve last bandwidth information saved:
client.getTcp().getBandwidth().getLastInformation();

I could also get all the information saved(several seconds at once):
client.getTcp().getBandwidth().getHistory();


By default the history size is set to 120 seconds.


Not good to allocate, especially since Bandwidth is not optional. The instances can be pooled, or better just allocated up front in an ArrayList or array and keep track of the populated instances separately.