Handle some edge cases with "possible emoji"

Two small edge cases with possible emoji:

## Multiple possible emoji in a row

If there are multiple possible emoji in a row, the first one is stripped:

``` ruby
io = StringIO.new("the token #1 should be unchanged")
Rumoji.encode_io(io).string
# expected: => "the token #1 should be unchanged"
# actual:   => "the token 1 should be unchanged"
```

## Last character is a possible emoji

If the last character in a string is a possible emoji, it is stripped:

``` ruby
io = StringIO.new("this character should not be stripped: 1")
Rumoji.encode_io(io).string
# expected: => "this character should not be stripped: 1"
# actual:   => "this character should not be stripped: "
```

This branch fixes both of them.