added headOption, init, last, lastOption, nonEmpty to ByteVector

Also updated tests to exercise these and check for consistency with standard library.