PR for official starting point of v1.2-beta Branch

@futureimperfect, @homebysix, @jsenick...

I would like to put this up for consideration for the starting point of v1.2

Since the AutoPkgr with Helper Tool branch had been tracking for so long, and had a long list of duplicate merges etc., this is a rebased offering.

--
#### Notable Changes:
__LaunchD / Priviledged Helper tool__  
* The priviledged helper tool is used to load the launchd.plist into the global context (i.e. /Library/LaunchDaemons/).
* see [main.m](https://github.com/lindegroup/autopkgr/blob/3e9f00bf76522d64faab982dba9b1865c8b3cc23/AutoPkgr/main.m) for how this is implemented. You can manually run it in background   

```
   /path/to/AutoPkgr.app/Contents/MacOS/AutoPkgr -runInBackground YES
```

* To make all this possible we need to use a custom keychain to store keychain items (namely email password).

   * We use the custom keychain because we can unlock it at login window while limiting possible exposure to just the email password. There remains a level of security built in since accessing the keychain _item_ is only allowed by an unmodified binary or one with a matching code signature.  

    * This keychain is located at ~/Library/Keychains/AutoPkgr.keychain and it's password is the computer's serial number.  

    * __Note__: _The other way I found that I could get the emailing to work at the login window was to use the system keychain, but that was only functioning when running as root, introducing a level of insecurity.  The version here actually runs as the current user by specifying the `UserName` key in the LaunchD.plist.  You can get an idea of all the extra song-and-dance previously required by browsing the [main.m](https://github.com/lindegroup/autopkgr/blob/AutoPkgr-With-Helper/AutoPkgr/main.m) from an older version._
* The helper tool introduces three new pods
    * [AHKeychain](https://github.com/eahrold/AHKeychain)  Derivative of SSKeychain that supports creating and using any keychain, not just the login.  
    * [AHCodesignVerifier](https://github.com/eahrold/AHCodesignVerifier) This is what we use to check whether the binary getting scheduled has a valid code signature, and that it is signed with the same identity as that of the helper tool.
    * [AHLaunchCtl](https://github.com/eahrold/AHLaunchCtl) An objective-c version of launchctl.

__LGAutoPkgTask as NSOperation subclass__
* subclassing allows adding dependencies to operations, so now we can easily run `autopkg repo-update` prior to each `autopkg run ...`. Once we make this transition I think repos will be less likely to become outdated. Also I think it will have the additional benefit of keeping the launch more responsive.

* Everything happens on correct thread inside of the class, no longer need to wrap all UI updates in an [NSOperationQueue mainQueue] 

* It introduces two new classes too (Both nested in LGAutoPkgTask.(h,m)).
	* `LGTaskManager` to handle enqueueing of operations
	* `LGAutoPkgTaskResponseObject` that is the delivery of response, report, progress, and error messages.  This class supports NSSecureCoding so if we ever decide to move this to an xpc bundle it's ready to go.

* All result string parsing logic now happens inside of the class, and passes along as a nice clean dictionary.
    * [L626 - L644](https://github.com/lindegroup/autopkgr/blob/8b463aadb671d6c04cef7ecc314df799cd89c1c0/AutoPkgr/LGAutoPkgTask.m#L626-L644) actually constructs a dictionary with two keys `kLGAutoPkgRepoURLKey` and `kLGAutoPkgRepoPathKey`. Now LGPopularRepositories only needs to [deal with that dictionary](https://github.com/lindegroup/autopkgr/blob/v1.2-alphaRebase/AutoPkgr/LGPopularRepositories.m#L102-L131) rather than having to parse the results in multiple locations.

       @futureimperfect , I would love it if you could take a look at [this section](https://github.com/lindegroup/autopkgr/blob/8b463aadb671d6c04cef7ecc314df799cd89c1c0/AutoPkgr/LGAutoPkgTask.m#L626-L644), you may have some ideas as to how to better split the values out with your mad regex skills. 

__NSUserNotifications & NSUserNotificationDelegate__

* I always wished that there would be some notification of when a successful email was sent.  Now there is a class for that [LGUserNotifications](https://github.com/lindegroup/autopkgr/blob/8b463aadb671d6c04cef7ecc314df799cd89c1c0/AutoPkgr/LGUserNotifications.m)

* This is just a starting point and I think we can do a lot of neat things here.  Such as...
	* Post a user notification when new recipes are downloaded.
	* Post a user notification when error occurs.
	* Post a user notification if a new version of AutoPkg / or JSS Addon is avaliable.

__LGPopularRepositores, LGRecipes  and NSPredicate__
* I reworked the searches using NSPredicate rather than NSRange which reduces lines of code by about 80%.

--
There are a number of things relating to `SMJobBless()` that I'd be happy to go into more detail about if you're interested.

If you prefer I put up the 1.2-alpha branch for consideration or break this branch down into 3 distinct commits relating to the above, let me know.

If anyone wants to take the lead here for code review, please self assign. Otherwise if you would just sign off and I'd be happy to move this forward.

I'll try my best to keep the merge updated so it can be automerged, so you should continue to track and fetch changes for this branch.

As always, thanks for your consideration.  

--Eldon