Reformatted all the Regexes, miscellanous neatifying.

Bunch of changes here:

I converted all regexes to use the `.format()` syntax, as the %formatting makes them very hard to follow (is the `()` related to the %formatter or the regex? Is the trailing `s` supposed to be part of a `\s` class, an optional plural `s`, or indicating it should be a string?).

I also went through and made the indentation of the regexes fairly consistent, so they're much easier to read.

Other stuff:
I run [PyLint](http://www.pylint.org/), so I spent a little while cleaning up minor stuff it likes to complain about. There were a number of strings that had `\{something}`, and weren't marked as `r''`. The interpreter can handle that using some internal heuristics, but explicitly marking them as `r`, or raw makes things clearer. Other things like overriding the global `id()` function by defining a variable named `id`, etc...

There was a bit of inconsistent indentation in `pdt_locales.py`, so I set that straight.

I also added some more units tests, principally for strings like `1 month ago`. There are now tests for `1 minute ago`, `1 hour ago`, `1 week ago`, `1 day ago`, and `1 month ago`. Those are the strings I originally started looking at this library to parse, actually, so I figure adding tests for them can't hurt.

As it is, all the unit tests pass, except a few in `TestFrenchLocale.py`, and those failed before I started making any changes as well. I think I'm probably missing some locales on the computer I'm doing dev-work on.