[FLINK-629] getFieldNotNull added to Tuple and updated operators

Operators which use key comparisons now use getFieldNotNull for getting the key fields, which will throw NullKeyFieldException if the key is null. Aggregators are also updated to use getFieldNotNull and will throw a NullFieldExceptions if the field is null.

The TupleSerializer now throws NullFieldException when it encounters a null field it cannot serialize instead of a NullPointerException.