Added a new open-sourced library to easily create CAML queries using
JavaScript. It's used to make filtering requests through SPE.getItems
easier. Currently, the task list monitor can correctly query all items
from the "Task" list that do not belong to the Admin Services Owner. The
idea is to then compare all of the GUIDs of the returned items with all of
the tasks in the other task lists. When a match is found, the item is
updated. If the item is not found, it is then created.

This is a "pull" method versus "push". The "pull" method grabs all of the
data from the other lists when the page is loaded. The "push" method
immediately updates every list when an item is either created or edited. I
decided on the "pull" method because, the "push" method would require
tracking each list for changes (updates, deletes, or additions). SP
doesn't provide any form of even handling for these events. There are also
multiple events that could occur and in multiple ways. It would be
difficult to track each an every way.

I also decided against using workflows because they are not scalable. This
type of list system (master list and sub lists for department members)
will be used in all department sites. Each workflow would have to be
manually changed (which is very tedious). Now, when a new site is added,
all we need to do is add this function and the names of the lists to
monitor. The code takes care of the rest. And, if the code is updated, all
subsequent sites are automatically updated. With workflows, we'd have to
update and retest each site.

TODO:

1. Add functionality for updating lists