add missing value support to SoftmaxLossLayer
add spatial normalization option to SoftmaxLossLayer

With missing values (and batches of varying spatial dimension),
normalizing each batch across instances can inappropriately give
different instances different weights, so we give the option of simply
normalizing by the batch size instead.
use a more readable comparison for label bounds checking
clean up formatting in SoftmaxLossLayer