Better error checking for core_spec value

If a batch job is submitted that can not be started due to its
core specialization count being equal to or larger than the
node's core count, then reject it at submit time rather than
queuing the job.