Make Period type definitions safer by providing only ::Real inner constructors. This prevents inadvertently construction Periods from other Periods by just the values. Also some general indenting/comment cleanup.