Upgrade Spring to 3.1 and Hibernate to 3.6

In addition to updating many POMs to support the more modular Spring and
Hibernate packaging, a series of small changes are needed for the
upgrade. This upgrade is to Spring 3.1.4 and Hibernate 3.6.10.

 * Clean up javassist and hibernate-jmx issues
 * Fix up cm-authz tests and clean up POMs for HSQLDB tests
 * Hibernate dependency upgrades in kernel
   * Add hibernate-commons-annotations
   * Add hibernate-jpa-2.0-api
 * Update RSF to 0.8.0-SNAPSHOT in master POM
 * Remove gradebook indexes now autocreated by Hibernate

The additional Hibernate jars need to be declared because, even though
hibernate-core typically packs them, we mark it as provided for the
modules that inherit it. This causes the transitive dependencies to also
be marked provided, so they need to be declared explicitly in our
kernel/deploy/shared POM to be available to everything.
Upgrade to Spring 3.2.1.RELEASE
Clean up whitespace, CLOBs, and various POM issues
Remove a couple of accidental CLOB length limits
Fix up lessonbuilder and calendar for Spring 3.2
Fix Hibernate DTDs and convert text fields to materialized_clob

The materialized_clob type is new and removes the ambiguity of how long
textual fields are mapped. With materialized_clob, there is a CLOB
column and it maps as a Java String. This is opposed to earlier versions
where the text type could correspond to different SQL types depending on
length and vendor. Now, the text type maps a LONGVARCHAR to a String,
and with recent versions of Oracle (at least 10g and 11g), CLOB is
strictly preferred. This change will require some before/after testing
and potentially a conversion script to change any remaining LONG or
LONGVARCHAR columns to CLOBs. MySQL behavior should remain unchanged as
the text types have always been handled as CLOBs (e.g., as TEXT or
MEDIUMTEXT).

Hibernate now expects its DTD URLs to be hibernate.org as opposed to
the older sourceforge.net URLs. These have all been changed.