Add slice::bytes::position

This is about eight times faster than iter().position() on my machine.
position has its own performance problems. If some RFCs get accepted, then we can write this as
```rust
    let pos = {
        let steps = (haystack.len() - num) / UINT_SIZE;
        let mut ptr = unsafe { haystack.as_ptr().offset(num as int) as *const uint };
        for i in range(0, steps) {
            let v = ptr[unsafe i] ^ mask;
            if ((v - ONES) & !v) & (ONES << 7) != 0 {
                break i
            }
        } else {
            steps
        }
    } * UINT_SIZE + num;
```