Updated readme to reflect Null<Relation<T>> stuff now working
Changed ApiBuilder to ApiMacros.  Added RequireApiProxy<T> interface

The RequireApiProxy interface will make sure a certain proxy has been
created from it's source class before the current class is typed.

Useful considering there's no real way to enforce compile-ordering in Haxe,
so you don't know at what point the proxy will be created.
Major cleanup of the way models are defined. Also Null<BelongsTo<T>> now works

Other correct Null<> typing on relations too.

For the code cleanup:

 * On "#server", a build macro now creates "static var manager:Manager<T> = new Manager(T)"
 * On "#client", a build macro now creates "static var clientDS:ClientDs<T> = new ClientDs(T)"
 * In haxe 3, sys.db.Types is now allowed on non-sys platforms, so I can get rid of that conditional compilation

The result is much, much cleaner models
Make sure ClientDsApi proxy gets built before ClientDs is typed

So that the API proxy is available to the compiler