RoutedCommand : expose the `keys` list and let it be empty

previously we were asserting that there was at least 1 key binding, but
there isn't really a reason that it can't be empty, it just won't ever
match any key events in that case.