Added s302m encoder.

This patch is based off of this patch that was originally submitted to libav here: http://patches.libav.org/patch/20184/

This implementation covers all sample sizes (16, 20, 24 bits per sample) and implements the, now, required encode2 function.  It also improves upon the original patch by adding CODEC_CAP_VARIABLE_FRAME_SIZE to the capabilities and sets the frame_size to zero so that any number of samples can be placed in a frame.  Variable frame size is required as the SMPTE 302M spec requires, for example, content with 1080i59.94 video standard to have the 1602, 1601, 1602, 1601, 1602 sample pattern.