Improve handling of URL identifiers and file extensions.

Instead of indiscriminately appending non-query identifiers to the URL, replace
the file extension if the identifier represents an alternate extension.  An
identifier is considered to represent an alternate extension if the strings
starts with a `.` character.  Also, prevent duplicate characters if both the
path ends with and the identifier starts with `/`.
Merge pull request #222 from nicksay/static-identifiers

Improve handling of URL identifiers and file extensions.
v2.1.0
Merge pull request #225 from nicksay/release

v2.1.0