Time intervals inspired by Scala duration object and Ruby active support