Made Failed a SystemMessage

Several stuff in there:
 - Compile time trick via value classes to hide "listyness" of system messages
 - Typesafe reverse operations
 - Unit tests for list operations
 - Failed is elevated to a system message
 - Simple stash is introduced into ActorCell
 - ActorCell acts now as a simple FSM