Apple Mac OS X Keychain support (1/3)

 - ported patch by Brian Raderman <brian@irregularexpression.org> to current
 OpenVPN HEAD
 - this is slice 1 of 3: ported boilerplate code to current OpenVPN codebase
 layout
Apple Mac OS X Keychain support (2/3)

 - cleaned up, formatted according to style of rest of source tree and merged
 past patch by Brian Raderman <brian@irregularexpression.org> into macosx.[ch]
 - reformatted cryptoapi.c to match rest of tree while I was at it
 - this is slice 2 of 3: fully functional but using the deprecated CSSM API for
 accessing the certificates and doing the signature
Apple Mac OS X Keychain support (3/3)

 - final fixes, after getting access to a physical Apple machine
 - functional/integration tested, works as expected!
Enable large passwords to work over the management interface as well
 - there is already preprocessor logic to allow 4k username/password fields
 when compiling with --enable-pkcs11
 - the design of options.c/parse_line() prevents that from working properly
 because the size checking in that function does not obey the
 configuration-time #define
 - this was never caught as the vast majority of PKCS#11 users have OpenVPN
 read the (large) password object from PKCS#11 itself as oposed to feeding
 same via the management interface
 - current patch fixes all that :-)
Merge branch 'macosx-keychain'
- brought Mac OS X Keychain Access patch to the current HEAD
Merge branch 'large-password'
- brought the Large Passwords over Management Interface patch to current HEAD