Make sure sessions are started before destroying them.

Fixes #3551
Fix Hash::get($data, '0')

Fixes #3555
Fix failing tests.

I have no idea why the updated session test was expected to fail as the
data was written to the session.

Refs #3551