Refactor reusable parts of the demo app into standalone Python module.

Create a standalone Python module that contains useful constants and utilities
for handling SPF requests and responses.  Refactor the demo app to import and
use this module.
Fix typo in website link in the README file.
Merge pull request #219 from nicksay/spiffy-readme-typo

Fix typo in website link in the README file.
Merge pull request #214 from nicksay/server-utils-python

Refactor reusable parts of the demo app into standalone Python module.
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 the
path and identifier both end with `/`.