[split] util: remove some unnecessary implicit conversions

Problem

There are allocation costs with some usage of implicits.

Solution

Replace the implicit usage with a call that does not require
any allocations.

Result

Less object allocations.

RB_ID=423001
[split] csl: updates changelogs to be current

RB_ID=422811
TBR=true
[split] util-doc: Fix updatedocs.bash to update new util docs

Problem

I noticed that we weren't actually writing new util docs.  We only
run ./sbt unidoc, which generates docs for 2.10 (the current default
scala for the sbt project) but not for 2.9.2, which the script had
previous been hardcoded to copy over.  Although `set -e` had been
set, there was a cached 2.9.2/unidoc which it could copy over, so
we never detected a problem.

Solution

rm -rf the old unidoc directory, and switch over to using 2.10.

RB_ID=424303
[split] cleanup obs owners in birdcage

RB_ID=425729
[split] util-core: Fix RichU64String to throw for negative input Problem

I expect RichU64String.toU64Long to throw NumberFormatException on bad
input. The empty string and strings with negative signs in the "right"
places end up parsing correctly. I discovered because I am using it to
parse input that comes from a user's browser.

Solution

* Throw NumberFormatException for the empty string
* Throw NumberFormatException if any of the parsed "bytes" are
  negative, which happens if the two characters match the regular
  expression "-[0-9a-f]"

Result

"".toU64Long, "-f".toU64Long, "10-aff".toU64Long will throw
NumberFormatException

RB_ID=429967
[split] util-core: optimizations in Buf

Problem

Buf is a low-level building block and can be optimized.

Solution

* Buf.ByteArray: Optimized `equals`.
* ConcatBuf: Remove allocations from `length`.

Result

Less object allocations for all.

RB_ID=431099
[split] Copy bytes from Reader to Writer and OutputStream

Problem

The initial problem was to write all the bytes from a Reader into an
OutputStream. It was suggested that a nice way to do this is to have a
general way to copy the byte stream from Reader to Writer, and a way to
give OutputStream a Writer interface.

Solution

This changeset defines Reader.copy for copying byte streams from
Readers into Writers; and Writer.fromOutputStream for turning
OutputStreams into Writers.

Result

A convenient way to write bytes from a Reader to a Writer, and by
extension, from a Reader to an OutputStream.

RB_ID=413781
[split] finagle, util: add mnakamura as owner

RB_ID=428831
[split] finagle-mux: Better gc avoidance flags for experimentation

RB_ID=393811
[split] util-core: Changes transform to fail Futures if you return inside the passed closure

Problem

return statements in closures are implemented by turning the return
statement into `throw NonLocalReturnControl` and then unpacking the
contents of NonLocalReturnControl at the top level of the method.
If the closure isn't executed inside of the method, for example if
the execution is deferred, it gets screwed up.  This can be difficult
to debug, especially since the Future is never returned.

Solution

A different Future is only returned by transform, so I chased down
where transform invokes the closure, and caught the NonLocalControlReturn
(NLCR) exceptions explicitly.  In scala's implementation, they
fulfil the future with the result from the NLCR, but that seems
totally crazytown, because it will almost certainly be the wrong
type.  Instead, we wrap the NLCR in a NonLocalWrapper, and fail the
Future.

https://github.com/scala/scala/blob/2.11.x/src/library/scala/concurrent/impl/Promise.scala#L52

Result

If you stick a return in a closure and pass it to a Future, you'll
get a nice failed future which explains why your future has been
failed.

RB_ID=429801
[split] util-app: log severely if a flag is read at the wrong time

Problem

The flags api is tricky to use.  You can only construct flags in
the constructor, and only read them after flag parse time.  It's
especially easy to read flags accidentally before parse time, and
difficult to debug.

Solution

Adds a constructor argument to flags which lets them log severely
if they're parsed incorrectly.

Result

local flags are protected from poor usage, but global flags still
aren't.

RB_ID=429201
[split] util: Enables cross-publishing for 2.11

Problem

Although the specs tests were removed, we weren't publishing against
2.11.  Notably, util-eval will be killed for 2.11, and it's nontrivial
to get sbt to aggregate a project for some crossScalaVersions, and
not for others.  Also, we were depending on a scalacheck feature
that was removed in newer versions of scalacheck.

Solution

Upgraded scalacheck version for 2.9.2 to one that had a replacement
method that was the same in the up to date scalacheck.  Moved
util-eval out from being aggregated, and changed its crossScalaVersion
to only "2.9.2", "2.10.4".  It turned out that the version of sbt
we were on had a bug where it didn't use incremental compilation
if you used cross building, so I upgraded us to 0.13.5 across the
board.  util-logging was ooming, so I increased the heap size.

Result

We can now publish against 2.11

RB_ID=425979
[split] Fix flaky Reader.copy test

The test asserted the equality of two OutputStreams by by converting
them into byte arrays then testing the byte arrays. It may be the case
in some circumstances, that the conversion to byte array requires a
flush to ensure that all the data written to the OutputStream is
contained in the resulting byte array. This change calls flush on both
OutputStreams before converting to byte arrays.

RB_ID=435699
[split] bump util to 6.20.1-SNAPSHOT

RB_ID=436989
TBR=true
NO-QUEUE=true