full paths for .gitignore + ignore .DS_Store files

Without this then we can not add files to "sbin" directory
under nanobsd/Files/usr/local/sbin.

Add .DS_Store for mac people.
Ability to upload SSL certificate added
Create a device-id that matches what istgt would generate.

Ticket: #5230
Fiddle with padding to chase format change in previous commit.

Ticket: #5230
Modify template migrations to point to jails directory instead of release number
Remove cuteness from code.

Ticket: #5267

While I would hesitate to ADD code to a release this late in the game, removing
code...what could possibly go wrong?

This commit removes the ability for you to pass in either a UID or a username
to the function that resolves users.  It also removes the ability to pass
in a GID or groupname to the code that resolves groups.

I'll note that NOWHERE in the code is a UID or GID passed in to this function.

Upon seeing an integer the code assumes it's a GID/UID.

Which causes fail because what the GUI passes in is a username/groupname.

So if the username/groupname is a number, then the code tries to resolve the GUI/UID,
and if it just so happens that the "name" you use doesn't match an existing GID/UID,
then a NoneType gets returned as the resolution fails, which eventually gets passed
back to the GUI and results in a traceback.

In reality I have grepped the code, introspected it, and talked to John, and now
I'm mostly hoping that if my commit message is long enough people will just let
me commit this to 9.2.1-BRANCH in the hopes that I'll just fucking stop.

However if we don't commit this then we really ought to add code in the form
of a validator to the GUI which blocks adding users or groups with numerical names,
either that or we'll be shipping 9.2.1.6 with a KNOWN BUG; a local DoS for root users,
which is an unforgivable and egregious sin which will cause me to doubt my ability as
a software engineer.  Given the choice between adding code, removing code or shipping
with bugs I'd prefer to remove code, but hey, you do what you want man!
Revert "Remove cuteness from code."

This reverts commit 2a9480434451ff23d820d37992c4779e6a24a4aa.
User/group resolution via numeric user/group names as well as uid's/gid's.

- Instead of ripping out the code, try to resolve users and groups by
name first. If that doesn't work, try to resolve by uid/gid. This makes
the code behave in the same fashion it did prior to this commit. It also
allows you to resolve users and groups based on uid/gid as well as
numeric usernames and group names
Fix URL for the Settings resource

Ticket:	#5221
Ad support for IPv6 in netcli urls

Ticket:	#3675
Filter out IPv6 localhost addresses

Ticket:	#3675
Document Email API resource

Ticket:	#5212
Document SSL API resource

Ticket:	#5212
Add unit tests for SSL resource
Fix id comparison for email test
Be a bit more pythonic, replace some depricated usages.

Lots of PEP8 fixes.

Mostly what is left to be cleaned up here is indent and
line length issues.
Remove workgroup from gui and move netbios name to advanced section

- workgroup does not need to be specified since we query for it
- netbios name often doesn't need to be changed, unless you're doing
  weird thing, in which case you know what you're doing

Ticket: #5286
Ticket: #5285
Rework AD code to understand m0ar thingz
Nuked __init__ in previous commit, bring it back!
Go to CTL by default in 9.3