DateTimeImmutable migration

Pull request for #139

I've been a bit wary removing those, because even though we *emit* DateTimeImmutable everywhere, we still accept DateTime objects in other places. So i'll have to be a bit careful.

This looks like a good candidate though.