Patchmeta and subdivision control
version .1 May 4, 2005

Overview:
This patch provides the functionality of -patchmeta and -subdivisions
at the entity level, rather than the command line.  The command line
options are still available, and are used as the default for entities
that do not specify otherwise.

entity keys:
 _patchsubdivisions
sets the subdivisions for all patches in the entity.
If not set, the value from the command line -subdivisions will be used,
or the default of 8. Lower values mean more detailed patches. Values < 1 will
be forced to 1.

This controls compile time subdivisions only, mainly to control the detail
of patches using -patchmeta.

The subdivisions option appears in a few other places in the code as well.
The per entity value will be used in every situation that the command line
-subdivsions was.

 _patchmeta
If set to 1, patches in the entity will be compiled with patchmeta. 
If 0, they will not. If not set, then the -patchmeta command line argument
will be used. 

Bad Things (tm) will most likely happen if you set this key to 1, but compile
without -meta. So don't do that.

Note these options can be used in worldspawn. This will only affect worldspawn 
patches. Many common patch functions in radiant (cap selection, for example)
implicitly create a func_group. Such func_groups, like any other entities,
will not be affected by worldspawn values.

Diagnostics:
If q3map is invoked in verbose mode, the current version of this code prints
out some fairly verbose diagnostics, (one or more lines for each patch with
in an entity using the new keys.)
This is to aid any bug reports, and will be removed in a later version.

If it ever prints a warning with "missing mapMesh", I would also like a report
of that.

.srf file:
Because the subdivisions needs to be passed on to the light stage, the
patchsubdivisions keyword is added to the .srf file. This shouldn't affect
end users.

