Created CLI interfacing and API hooks necessary to execute a ReindexTaskStep as a task.  Also, changed the API endpoint for tasks so that a task may hae a null project, which would require permissions to operate across all projects for a user.  Conceptually, this allows for a task (like Reindex) to specifiy one project, or to act across all projects at once.
The Reindex task CLI command is implemented (skye tasks --reindex -P "node=<node>".  It may optionally also take a parameter called project, which is an id or alias to a single project to be reindexed.

Some permission checks needed to be altered in the TaskResource to allow for tasks which require permissions for all projects.
Merge remote-tracking branch 'origin/master'