CallbackMsgExtensions.Handle() now returns whether the handler was called

Currently, `CallbackMsgExtensions.Handle<T>(ICallbackMsg, Action<T>)` returns `void`. However, this significantly increases the complexity of code that needs to detect unhandled callbacks.

With this change, you can just do something like this:

```csharp
if (!msg.Handle<SteamUser.UpdateMachineAuthCallback>(callback =>
{
    // handle UpdateMachineAuthCallback
}) && !msg.Handle<SteamUser.SessionTokenCallback>(callback =>
{
    // handle SessionTokenCallback
}))
{
    // unhandled callback
}
```