Consistent definition of priority levels

In the specs and the documentation of the spawn_opt family of functions
there is the following definition of priority levels:

	Level = low | normal | high

However, the process_flag/1 function in that module reads:

  process_flag(Flag :: priority, Level) -> OldLevel

    Types:

	Level = OldLevel = priority_level()
	priority_level() = low | normal | high | max

This is clearly inconsistent. Change specs to use the process_level()
type declaration instead of re-defining it in various places.
Merge branch 'dg/win_icon' into pu
Merge branch 'sk/odbc64' into pu
Merge branch 'rc/break-out-asserts' into pu
Merge branch 'sm/fix-disksup-susv3' into pu
Merge branch 'pn/error-logger-sup_handler' into pu
Merge branch 'cm/bug-http-content-length-zero' into pu
Merge branch 'xc/inets-httpc-patches' into pu
Merge branch 'yt/netbsd' into pu
Merge branch 'mh/supervisor-doc' into pu
Merge branch 'ks/hipe-cleanup' into pu
Merge branch 'as/tls-psk-srp-suites-ECC' into pu
Merge branch 'ks/hipe-cleanup-escaping' into pu
Merge branch 'ks/erlang-spawn_opt-process_level' into pu