implement Entry API for SmallIntMap

The contents of this PR make me legit mad. I really hope that I'm just completely stupid tonight, and there's a way better way to do this. It doesn't help that this API is *basically* pointless to provide on SmallIntMap. But we've gotta provide a uniform interface, so...

yeah 

:rage:
Have you tried something like:

```rust
{
    match self.find_mut(&key) {
        Some(val) => return Occupied(...)
        None => {}
    }
}
Vacant(...)
```