better Array[Byte] <-> String conversions

This seems like a clear cleanliness win in test code; more subjective in the src cases that I picked out. In a few places I left at least one direct Bases.stringToBases call in the wild because I didn't feel like switching it, but maybe having the option is worthwhile.

Aside: some of the `==` String comparisons make me nervous. foursquare had a `=?` strongly-typed-equality operator that used implicits that was used over `==` everywhere, I'll see about whether adding such a thing could be a win, e.g.:

    final class Identity[A](val _value: A) extends AnyVal {
      def =?(other: A): Boolean = _value == other
      def !=?(other: A): Boolean = _value != other
    }
    object Identity {
      implicit def wrapIdentity[A](anything: A): Identity[A] = new Identity(anything)
      implicit def unwrapIdentity[A](id: Identity[A]): A = id._value
    }