Adding a 'transactional' method to DAtabase\Connection that will help
reducing the amount of conditionals in Table::save
Adding tests for Connection::transactional()
Refactoring Table::save() to use Connection::transactional()
Implemented Entity::dirty() to mark changes in properties, this will
help at later point to only save those properties that were actually
changed