The parent<=>child relationship of scenes was removed. Instead, this commit introduces the concept of a connection.
A connection is used to connect two scenes. Depending on which entity the connect-method is called, one is defined as the "outgoing" scene, the other as the ingoing scene:
```
$a->connect($b);
```
In this case, $a will be the outgoing part of the connection, $b the incoming.
Furthermore, in order to support action groups, this commit introduces SceneConnectionGroups which can be created in scenes and checked wether they exist or not. Using these, it is possible to specifiy to which part of the scenes are connected to each other.
```
$a->getConnectionGroup("scene-A/marketsquare")->connect($b);
```
In this case, $a will have the action to access $b under the ActionGroup of scene-A/marketsquare. On the other hand, $b, which doesn't have a connection group specified, will have the connection back to $a in the default group.
Connect also accepts the return value of getConnectionGroup as the argument, thus allowing the connection _to_ a certain part of $b as well:
```
$a->connect($b->getConnectionGroup("scene-B/back"));
```
The tests for scenes were updates in order to reflect this change.
This commit adds support for regeneration (both regen and deregen) and
minions (for both goodguy or badguy - or both at the same time). It also
adds tests to ensure correct code workflow.
This commit adds the MotD model for storing and retrieving
messages-of-the-day.
It also adds a model for messages. Messages have an author as well as a
thread they belong to, the thread can be read by a specific number of
authors. FUrthermore, the message model supports system messages.
This commit introduces a number of needed changes:
- Character is now implementing the CharacterInterface
- MissingCharacter and SystemCharacter are supporting "pseudo-characters"
- trait MockCharacter implements non-implemented methods for
MissingCharacter and SytemCharacter
- Characters are now soft-deletable. Models wanting to load soft-deleted
characters need to fetch them eagerly.
Closes#17