[#1772] Make sure ChannelOutboundBuffer.recycle() does also reset unflushed, flushed and tail.

This fix a IndexOutOfBoundsException which as triggered if recycle() did cut down the buffer[] to the initial size.
fix race condition in test
Add testcase to show channelRegistered is called
Improve the randomness of ThreadLocalRandom for all platform

- Fixes #1765
Java 6 did a poor job of generating seedUniquifier unlike 7, so I implemented platform-independent seedUniquifier generator with configurability
Make AbstractBootstrap public

.. to work around the issue with JDK reflection described here:

  http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4283544

Fixes #1780
SPDY: allow MAX_CONCURRENT_STREAMS to be set to 0
[#1782] Fix IndexOutOfBoundException with direct buffer and gathering writes
[#1777] Use correct Thread when close per channel
Merge remote-tracking branch: upstream/master