Mark AESNI files as not needing executable stacks

Some Linux systems now come with facilities to mark the stack as
non-executable, making it more difficult to exploit buffer overrun
bugs.  For this to work, object files built from assembly need a
section added to note whether they require an executable stack.

Patch from Dhiru Kholia with comments added.  More information at:
https://bugzilla.redhat.com/show_bug.cgi?id=1045699
https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart

ticket: 7813
target_version: 1.12.1
tags: pullup
Default to normal salt instead of "ignore"

krb5_string_to_keysalts() treats an empty salt field as -1 ("ignore"),
rather than as the normal salttype.  Default to normal instead, so
that omitting a salttype works as expected.

ticket: 6042
Make salt defaulting work for keysalts

Make krb5_string_to_keysalts() default to only ":" as a key:salt
separator character.  Change most of its callers to pass NULL so they
get the default separators.

Adapted from a patch proposed by Jon Looney.

ticket: 884
Add test for salttype defaulting

ticket: 884