Linux 3.16 compat: remove wait_on_bit action function

Linux kernel 3.16 removes the action function argument from
wait_on_bit().  Add autoconf test and compatibility macro to support
new interface.

The former "wait_on_bit" interface required an 'action' function to
be provided which does the actual waiting. There were over 20 such
functions in the kernel, many of them identical, though most cases
can be satisfied by one of just two functions: one which uses
io_schedule() and one which just uses schedule().  This API change
was made to consolidate all of those redundant wait functions.

References: torvalds/linux@7431620

Signed-off-by: Ned Bass <bass6@llnl.gov>

Closes zfsonlinux/spl#378