Add a Base64Field and a FakeChangeFieldType evolution mutation

Review Request #383 — Created May 14, 2008 and submitted

Information

Navi (deprecated)
trunk

Reviewers

This change adds two things to Djblets that we need for the new parent diffs change for Review Board.

The first is a Base64Field, which works like a TextField but encodes/decodes Base64 behind the scenes.
We use it now for the diff fields in FileDiff, instead of accessing a TextField through getters/setters.

The second is a "mutation" class for use with Django Evolution. Django Evolution is the database migration
framework we're going to be using in Review Board. This class fakes a field type change, so that we can
perform the migration from TextField to Base64Field in order to satisfy Django Evolution's checks.
Made sure database migration worked with this change and the change in Review Board. Also made sure diffs
continued to work (viewing existing diffs, uploading and viewing new diffs) and all unit tests passed.