std: implement lexicographical Ord for TreeMap/TreeSet
get rid of LinearMap's find_copy method
Merge remote-tracking branch 'codeblack08/treemap-ord' into deriving
Merge remote-tracking branch 'thestinger/hashmap' into deriving
Fix example code
Convert log(debug, ...) to debug!(...)
Greatly improve performance for TcpSocketBuf.read

For every call to the read() function the internal buffer was copied
into a new buffer (minus the bytes copied into the result buffer). When
the internal buffer is large enough, this severely affects performance,
especially when read_line() is used which calls read_byte() (which calls
read()) for each read byte.

For line oriented I/O this wasn't all that bad, because the internal
buffers usually never were very big. The effect is much more visible
once the buffer grows larger.

Now we always first look into the internal buffer and copy as many bytes
as possible (and desired) into the result buffer. If we need more, we
call the socket read function and use the result as the new internal
buffer, then continue to copy from the (new) internal buffer, and so on.
Slightly optimize read_line()

No need to allocate an additional vector. Instead directly push into the
string.
Tidy
Add Michael Neumann to AUTHORS
Revert "Revert "Merge pull request #4633 from thestinger/treemap""

This reverts commit d73077f82dc0f074f7abcb017bd73f4d70a685e9.