DateTimeImmutable migration

Pull request for #139 

Note: this Pull request is a work in progress, and is not ready for merging.