Add support for using a custom kSecAttrAccessible for all setter methods.

This patch adds support using a custom accessibility setting on a keychain item. This is very useful, because it allows a user to tighten down security further (e.g. not allowing an item to migrate to a new device), or make it more loose to allow, for example, using the item from background tasks.

The code changes are backwards compatible, there are no changes in functionality for existing calls.