chore(core): deprecate prefixed accessors/mutators in CommandManager.java
All prefixed (actual) getters/setters in CommandManager have been deprecated, and non-prefixed alternatives have been introduced. I've also put some effort into improving the JavaDocs of these methods.
The following PR fixes interop issues between Kotlin and Java.
Currently, there is no way to go from `Command.Builder` -> `MutableCommandBuilder`, nor from `MutableCommandBuilder` -> `Command.Builder`.
This PR fixes it by introducing
- A new constructor for `MutableCommandBuilder`:
```kotlin
public constructor(commandBuilder: Command.Builder<C>, commandManager: CommandManager<C>)
```
- Making the `commandBuilder` variable public
- Adding the following extensions
```kotlin
public fun <C : Any> Command.Builder<C>.toMutable(commandManager: CommandManager<C>): MutableCommandBuilder<C>
public fun <C : Any> Command.Builder<C>.mutate(commandManager: CommandManager<C>, lambda: MutableCommandBuilder<C>.() -> Unit): MutableCommandBuilder<C>
```