For NIFs, don't #include <erl_driver.h>

Only #include <erl_nif.h>. Including both gives this error, at least
for me now with Erlang/OTP 17.3 (line break
to improve readability):

.../include/erl_nif.h:LINE:COL: error: \
   'ERL_DRV_DIRTY_JOB_CPU_BOUND' was not declared in this scope
     ERL_NIF_DIRTY_JOB_CPU_BOUND = ERL_DRV_DIRTY_JOB_CPU_BOUND,
Set NIFs to be CPU bound when there is support for it

In 17.3, with dirty schedulers, it is possible to set the NIF to be
CPU bound, to avoid occupying a regular erlang scheduler overly long,
if the NIF takes long to execute. Set the flag to do that.
Improve the NIF flags to check for NIF version

Check for schedulers only if compiling against enif 2.7 or
later (which is Erlang 17.3)
Merge branch 'nif-on-dirty-scheduler'
Prepare for 3.15.0