improved the normalization of name
added has_valid_extension with tests
better handling of apostrophes