Cleaned up some indentation, removed dependency on erazor

(I was looking to now have it included in my compilation.  If you
specify -lib erazor it still works)
Small changes for Haxe3 compatibility

See http://haxe.org/manual/haxe3?lang=en for descriptions of Haxe3
changes that required these patches
Changed haxe.BaseCode to haxe.crypto.BaseCode
Add ablity to set expiry date for FileSession
Add semicolons to help with compilation
Only set cookie values if not null
Remove commas between implements (haxe3 syntax change)
Change to help compilation
Standardise getters/setters into get_propertyName etc

Required by haxe3
Use Haxe3 sys.* packages

(Also updated a type to use haxe3's haxe.crypto.*)
More getter/setter standardising for Haxe3
Change callback(fn, []) to fn.bind([])

For haxe3 compatibility
Haxe3 syntax changes for extends, implements, RTTI
Change haxe.Stack to haxe.CallStack

(haxe3 API change)
Change hash to StringMap

(Haxe3 api change)
Change Std.format() to haxe 3 string interpolation
Use '_' for unused variable in switch
Slight syntax change required for Haxe3

Map.keys() is inline so this existing syntax seemed to cause issues
(Hash.keys() might not have been inlined?)
Cast required for compilation

(Change in Haxe3?  May need Franco to confirm what is supposed to happen
here...)
Major crazy changes to get doc.hxml and build.neko.hxml to compile

Now the unit tests compile for neko.

368 tests, 282 passes, 30 errors, 55 failures, 1 warning performed on neko, executed in 0.129 sec.