AP_Buffer: remove header/source separation to allow arbitrary template
parameters without explicit instantiation in the cpp file.

http://stackoverflow.com/questions/495021/why-can-templates-only-be-implemented-in-the-header-file
AP_Buffer: remove code that returns a default value if an invalid
operation is performed.

e.g. pop_front() returned 0 if the queue was empty. Under some
circumstances this might be misleading / undesired.

Instead one should always check, if the operation is invalid and handle
this case appropriately:

T val = buf.is_empty() ? my_custom_value : buf.pop_front();
AP_InertialNav: renamed/refined defines, introduced new ones to replace
hardcoded values; fixed bug.

AP_InertialNav::correct_with_gps used the most recent
_hist_position_estimate value instead of the delayed ones.

correct_with_baro had the same issue:
@see: commit de967eb2f24aefab9ebc2863a2be3efc1de3968e