Added peek, peekchar to IOBuffer (partially addresses #2638)

These mimic `peek` and `peekchar` for `IOStream`s.  

```julia
julia> io = IOBuffer()
IOBuffer([],true,true,true,false,0,9223372036854775807,1)

julia> write(io, "Test")
4

julia> seek(io, 0)
true

julia> peek(io)
ERROR: peek not defined

julia> Base.peek(io)
84

julia> Base.peekchar(io)
'T'
```


Note that neither is exported currently, and I didn't change that because of questions about generalizing the interface (see #2638).