Merge pull request #90 from vorbis/oracleFix

Fixed sequence string for oracle.
Fixes for postgresql integration tests.

Added concept of unmodfiable data types.
Type like int4 should not have a size specified.
E.g. int4(10) is invalid

Refactored the code for reading a default value.
Using a Scanner as it provides easy methods to check if a value is valid.
Added check for whether a BIT value is actually a string of value 'true' or 'false.
This is the case in postgresql.
Documenting liquibase.change package and finalizing APIs
Merge remote-tracking branch 'origin/master'
renamed AbstractChangeTest to StandardChangeTest so I can create an actual AbstractChangeTest
Finished documentation, testing, and vetting of AbstractChange Object
Support for Cassandra NoSQL

Very basic but working support for Cassandra NoSQL 1.2.0. Requires
Cassandra JDBC connector 1.1.2 or later.
Supports:
- creation and using locking and log table
- changesets based on <sql> block with CQL
Added fix for reading column size in H2.

On my Ubuntu box, H2 sets the column name for the size of a column to CHARACTER_MAXIMUM_LENGTH and the label to COLUMN_SIZE.
When  mapping columns I think in general we should use the column label and not the column name.
The column label will fall back to the name if no label is specified. If one is specified then typically it's specified for a reason (standards compatibility).

Removed old h2 jar from database test drivers.
Cleaned up exceptions on Change and AbstractChange
renamed test so we can have a specific test for AbstractSQLChange
Fixes for Hsqldb Integration tests and CORE-1229

Added fix suggested for Holger Willebrandt for GetViewDefinitionGeneratorHsql.
Tested and it works fine now.

Revved hsqldb to version 2.2.9
This version adheres to the sql standards.
It contains a TABLE_CONSTRAINTS table in the information_schema.
Added checks for HsqlDatabase to Int, Double, BigInt and Boolean toDatabaseType methods.
Sizes were being incorrectly appended. E.g. boolean(0);

Fixed bug with setting defaultSchemaName.
The default schema name that is set should be corrected by the implementing database.
E.g. setting 'liquibaseb' as the default schema name for Hsqldb is actually setting 'LIQUBASEB' as the defualt schema name.
This difference means that snapshot checks fail to realize that the DatabaseChangeLogLock table already exists.

Modified the correctObjectName method in AbstractJdbcDatabase.
Based on a conditional property unquotedObjectsAreUppercased, unquoted objects are either uppercased or lowercased.
This reflects typical database handling. Quoted objects don't have their case changed in any database that I've worked with.
Fix for CORE-1251

Overide doGetDefaultSchmea instead of getDefaultSchema so an alternative default schema can actually be set.
CORE-1252 Remove build-helper-maven-plugin from liquibase-core/pom.xml
Small performance enhancement for checksum generation.

When any is set as a valid checksum, skip generation of the checksum as it is not
needed.
Documented and tested AbstractSQLChange
Documented and tested ChangeFactory
Postgresql does not handle nvarchar type.

NVarchar should be converted to varchar for Postgresql as it does not recognise
nvarchar.
Fix problem on Liquibase.forceReleaseLocks() for H2 DB

There was a NPE on AbstractJdbcDatabase trying to het columnSize of
LIQUIBASE and MD5SUM
Added current date time placeholder function name.

If the function name is matched in UpdateGenerator or InsertGenerator, the value is replaced with the real current datetime.
Using current_datetime as the placeholder.
Updated test xml with an example.
Either valueComputed or valueDate can be used to set the value.

Removed redundant castings in Column.java and unused methods.
Added support for setting a sequence's current or next value as a default value.
Refactored SequenceFunction into SequenceNextValueFunction and SequenceCurrentValueFunction.
Both now extend DatabaseFunction.
Added method to database to generate the real value for a database function.
Added tests for the new functionality.