memfd: switch to f_op->{read,write}_iter

These functions are new since 3.16 and replace the old aio_{read,write}
implementations.
connection: factor out some code into kdbus_check_send_permission()

This help cutting down the size of kdbus_conn_kmsg_send(), which has grown
too big.
connection: factor out code into kdbus_conn_add_expected_reply()

This helps cutting down kdbus_conn_kmsg_send() to make it more readable.
connection: rename kdbus_check_send_perm() to kdbus_conn_check_access()

Keep the function namespace clean.
connection: clean up conditional code path

For broadcasts, we return anway, so there's no point in an 'else' branch.
connection: don't append to uninitialized metadata

kmsg->meta is only valid if conn_src != NULL.
Fix annoying compile warning due to missing cast