my bad I see what you mean on question 3 I missed before read to quickly. L1Loss seemed to have name remap to AbsCriterion. so code under AbsCriterion. You will find that the case for these others as well:
name_remap = {
    'TemporalConvolution': 'Conv1d',
    'SpatialDilatedConvolution': 'DilatedConv2d',
    'SpatialMaxUnpooling': 'MaxUnpool2d',
    'SpatialReflectionPadding': 'ReflectionPad2d',
    'SpatialReplicationPadding': 'ReplicationPad2d',
    'VolumetricReplicationPadding': 'ReplicationPad3d',
    'VolumetricMaxUnpooling': 'MaxUnpool3d',
    'SoftMax': 'Softmax',
    'LogSoftMax': 'LogSoftmax',
    'HardTanh': 'Hardtanh',
    'HardShrink': 'Hardshrink',
    'SoftPlus': 'Softplus',
    'SoftShrink': 'Softshrink',
    'MSECriterion': 'MSELoss',
    'AbsCriterion': 'L1Loss',
    'BCECriterion': '_BCELoss',  # TODO: move the glue code into THNN
    'ClassNLLCriterion': 'NLLLoss',
    'DistKLDivCriterion': 'KLDivLoss',
    'SpatialClassNLLCriterion': 'NLLLoss2d',
    'MultiLabelMarginCriterion': 'MultiLabelMarginLoss',
    'MultiMarginCriterion': 'MultiMarginLoss',
    'SmoothL1Criterion': 'SmoothL1Loss',
    'SoftMarginCriterion': 'SoftMarginLoss',
}