Make the code compile with Closure's advanced mode

This patchset gets rid of all the warnings when you try to compile History.js with Closure.  To round off some edge cases, there are a few minor changes to behaviour:

* normalizeState() generates a default object with a null data and title instead of an empty object.
* safariStatePoll() calls createStateObject(null,null) instead of createStateObject()
* extractId() returns "" instead of false on failure

To compile the JS yourself, you will need to download the Closure Compiler (http://closure-compiler.googlecode.com/files/compiler-latest.zip) and the latest "externs" file for jQuery (currently http://code.google.com/p/closure-compiler/source/browse/trunk/contrib/externs/jquery-1.6.js).  You can compile the code something like this:

java -jar .../compiler.jar --warning_level VERBOSE --compilation_level ADVANCED_OPTIMIZATIONS --externs=scripts/closure_externs/history.js --js=scripts/uncompressed/history.js --js=scripts/uncompressed/history.html4.js --js=scripts/uncompressed/history.adapter.jquery.js --externs .../jquery-1.6.js > /dev/null

An "externs" file declares variables that are required by JS but declared externally (e.g. window.amplify).  I've populated "scripts/closure_externs/history.js" for History.js' externs, but you may want to put it somewhere else.

The History.js externs file defines the "HistoryState" type (I was worried that "State" might clash with some other type defined elsewhere, so I've renamed it in all the param definitions).  Please take a look at the type - I'm not sure I've fully understood its format.