Fix errors in generated code when MAVLINK_CRC_EXTRA is disabled

Also ensures that packet length parameters use the appropriate *_LEN define
instead of hardcoding the raw values.
Clarified units for latitute/longitude/altitude in various messages.
Update common.xml

Proposal to add direct battery charge and energy consumption reporting in addition or instead of the current percentage of battery.  

The problem with the battery percentage is that the on-board system in most cases does not natively know the size of the energy storage and relies on the (possibly) configured battery capacity value.  In case of changing the battery on the field there may be different battery size or there may be a different type of power source on board. In any case, the percentage value is secondary information and dependent on a pre-configured capacity value, which may or may not be correct or relevant.  

If the on-board system has capability to report any consumption numbers, it almost certainly is measuring current and voltage samples.  These are primary information available to be reported and should be reported.

Possibly it could make sense to split message 147 to two separate messages: 1) multi-cell battery individual cell voltage reporting 2) total voltage & current readings and derivatives.
1. Fixed field closing tag.  2. Increased current and energy consumption field sizes.

Field size increase to accommodate kilowatt-size power trains and long missions. A more airlink economical option would be to use one scalar byte for both of the consumption fields.  However, not sure if the savings would carry their weight in added complexity.
Python generator: allow for hex and binary notation in enum value attributes (and longer ints).
Fixed error received when running mavlogdump.py when processing invalid messages that contained a non-ASCII value.
Merge branch 'master' of https://github.com/mavlink/mavlink into inv_char_fix
Merge pull request #119 from Susurrus/inv_char_fix

Fixed issue with printing MAVLink_bad_data
Merge pull request #118 from AutoQuad/upstream

Python gen: allow for hex and binary notation in enum value attributes
Merge pull request #113 from Susurrus/new_issue_92

Clarified units for latitute/longitude/altitude in various messages.
Merge pull request #106 from RFDesign/upstream

Fix errors in generated code when MAVLINK_CRC_EXTRA is disabled
Permits external m_mavlink_status array.
Added a message encoding function that accepts a channel.

In the C-API, just like there are the `mavlink_msg_msgname_pack` and `mavlink_msg_msgname_pack_chan` functions, there should be  `mavlink_msg_msgname_encode` and `mavlink_msg_msgname_encode_chan` functions, as not all messages are sent over the MAVLINK_COMM_0 channel and need the appropriate sequence number set.
message_defintions: added RADIO_STATUS, SIM_STATE and HIL_SENSOR

the RADIO_STAUS is a copy from ardupilotmega

HIL_SENSOR is intended to replace HIL_STATE, giving missing
information

SIM_STATE is used to provide feedback to ground stations on true SIM
state

Pair-programmed-with: Lorenz Meier
re-generate for new msgs
fix gen_all.sh for uppercase Python
pymavlink: re-generate python modules
fixed typo in ardupilotmega.xml
mavutil: added check_condition() method
mavutil: added MAVLink broadcast support