bladeRF: Removed unused bladerf_metadata parameter from rx/tx calls

It is safe (and preferred) to pass NULL for the metadata paremeter when
using a format that does utilize the metadata structure.
bladeRF: Default num_transfers to min(32, num_buffers/2)

This avoids inadvertently attempting to use a larger number of transfers
than the underlying USB library/interface allows by specifying a large
value for num_buffers.

Users can specify up to (num_buffers - 1) transfers. However, it is
generally recommended to use half as many transfers as buffers.
bladeRF: Don't fail out until 3 consecutive errors have occurred

This change is intended to make the bladeRF source/sink implementations
slightly more resilient to any transient issues in a flow graph.

For poor choices of buffers/transfers or under high CPU load, an RX or
TX operation might time out. Instead of immediately reporting WORK_DONE
and bailing out, an error message is now printed and the device will
attempt to continue transmitting/receiving samples.

After 3 consecutive errors have occurred on an RX/TX operation, the
device will report WORK_DONE; in this situation, something is likely
very wrong.
update version to 0.1.4
update version to 0.1.5git