generic_views: allow callable choices in filter forms

Filter forms may display a combo of choices. These choices could
be supplied statically (as a list of tuples) or pointing to a
model's field.

Now also have a callable that will return that list of tuples.
reports/urls: fix "model" filter for list view

First, it was pointing to the wrong field, I had renamed 'model'
to 'rmodel' to avoid name collisions.

Second, the user would never know the internal name of models,
so have a combo with human-readable strings for that field.
reports/views: fix API response when no fields are requested

When no fields are requested, the intended behavior is to
return all plain fields of that model. However, a mistake
prevented that branch from working (referenced name 'fld'
before it was resolved).
reports/app: "cloak" the application until AngularJS has loaded

Avoid brief display of un-rendered AngularJS elements while the
javascript is taking on.
reports/app: have an empty fmt field to insert fields before

User can drop fields /after/ the ones already in the details
view. He cannot arrange a field to be dropped /before/ the
first one. Even worse, if he/she hides all fields, there
wouldn't be any drop point to bring them back.

Now, introduce an empty drop box at the beginning of details
line.
reports: only have the "isset" field when Dept is under other

Searching for a department that "is not set" makes no sense
in a standalone query. It is only useful in Locations, that
may or may not have a value in that field.