WL#5815: Refactor Field::compatible_field_size

Affects: Server-Prototype Only   —   Status: Un-Assigned   —   Priority: Medium

This is a step towards making replication a library, such that the 5.6 rpl-
lib can be plugged into the 5.5 core [WL#5675].

In this worklog, we refactor Field_bit::compatible_field_size in field.cc. It is 
currently a core function, but it uses information that is internal to rpl-lib. 
The prototype is currently:

Field::compatible_field_size(uint field_metadata,
                             Relay_log_info *rli_arg,
                             uint16 mflags,
                             int *order_var)

Both rli_arg and mflags are internal to rpl-lib and should not be part of this 
interface. Both rli_arg and mflags are used to check if the functionality needs 
to be bug-compatible with an old master server. Hence, after WL#5805, we can use 
the rpl-lib function Slave::get_master_version and the core function 
server_has_bug and do not need to pass these arguments around. The new prototype 
should be:

Field::compatible_field_size(int field_metadata, int *order_var)