Better code analysis of methods to see when they are empty

Fixes #492
Evidently HHVM does not return false for DateTime :-/