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.