Convert non-UNIX end-of-line characters

Convert non-UNIX end-of-line characters

 * CRLF -> LF
 * CR   -> LF
Assume log messages are in ISO-8859-1 format and encode them to UTF-8

Assume log messages are in ISO-8859-1 format and encode them to UTF-8
Set sccs:sid to original SCCS SID string

Set sccs:sid svn node property to original SCCS SID string
Add regex to reformat Berkeley sccs id strings

Add regex to reformat Berkeley sccs id strings to SVN ID keyword
Display author when sending file

Display author when sending file into subversion
Add my own testing files

Add my own testing files from NetBSD source repo
Convert each line in the log file

Properly convert each line in the log file (oops!)
Add some debuggery

Add some debuggery so if things barf, I know where they barfed
Move newline sanitization to _revisionSetup()

Move newline sanitization to _revisionSetup()
Save message when sanitizing

re.sub() in python doesn't save the matched string inline so save
message as appropriate.  Also, do not directly convert non-UNIX
end-of-line characters as newlines, but rather representations.  Note
that \r\n is converted to '<CRLF>\n'
Fix version merging algorithm

Fix the version merging algorithm so that an extra version does not
get committed.  Note there are still issues with the final subversion
revision date getting munged.
Correct mismatched dates

Correct instance where dates were improperly matched against
associated SCCS deltas

Solution courtesy http://stackoverflow.com/questions/6227489/revision-information-mismatch-after-sccs2svn-conversion
Use new method, keywordPropertyUpdate(), to set svn:keyword properties

Use new method, keywordPropertyUpdate(), to set svn:keywords and
perform corresponding keyword conversion
Remove old property update methods

Remove old property update methods
Use pytz to localize SCCS timestamp

Use pytz to localize SCCS timestamp.  Note that this is fixed to
US/Pacific for the time being.  Note I'll be making this configurable
in a future changeset
Add new option '--sccs-timezone'

Add new option '--sccs-timezone' for setting the timezone each SCCS
commit was made in.  Defaults to UTC.

Note that this assumes that all SCCS deltas were committed in the same
timezone.  Since older SCCS versions doesn't store timezone
information, it is _impossible_ to determine when each delta was
committed to any degree of accuracy[1].

Footnotes:
[1]  http://sccs.berlios.de/man/sccscvt.1.html
Use proper methods when calculating time difference

Use proper datetime methods when calculating time difference between
consecutive deltas
Auto-commit property changes every 1000 files

Auto-commit property changes every 1000 files so as to avoid potential
"Too many files open" errors.
Skip bad SCCS files

If an SCCS storage file matches ".*[-.]bad$" then assume it's bogus
and skip processing
Disable svn:entry:committed-date

Disable the setting of the svn:entry:committed-date property as this
can interfere with repository migration