priority/multifactor cleanup, Fairshare=parent enhancements, LEVEL_BASED

This pull request has three commits:
1) Clean up priority_multifactor.c so that it is easier to work with
2) Implement Fairshare=parent improvements described in http://bugs.schedmd.com/show_bug.cgi?id=864.  If an account has SLURMDB_FS_USE_PARENT set, you effectively reparent its children to be children of the account's parent for shares and usage calculations.  This does not change currently defined behavior; it only defines what to do in this situation. (test24.3 added for this).  We updated the traditional and TICKET_BASED methods but need to consult more with Matthieu and François for DEPTH_OBLIVIOUS.
3) Implement LEVEL_BASED prioritization method (http://bugs.schedmd.com/show_bug.cgi?id=851).  We also added test24.4 for LEVEL_BASED.

We have been running this in production for a while but maintaining multiple patches was getting tiresome, thus we forked the repo and used git to manage it.  It is branched off of slurm-14.03 at commit e88b98995aea36aa32ea7d6b090f29fd504bd29f.