New code for adding todo, priority and tags

Altered items:
anaphora, require, org, simple-call-tree-major-mode-alist,
simple-call-tree-org-todo-state, simple-call-tree-org-todo-states,
simple-call-tree-org-priority-levels, simple-call-tree-mode,
simple-call-tree-tags-regexp, simple-call-tree-analyze,
simple-call-tree-get-function-at-point, simple-call-tree-get-tags,
simple-call-tree-set-attribute, simple-call-tree-set-todo,
simple-call-tree-set-priority, simple-call-tree-set-tags,
simple-call-tree-list-callees-recursively,
simple-call-tree-insert-item, simple-call-tree-insert-org-header,
simple-call-tree-jump-to-function
New macro: simple-call-tree-get-item

Also new commands & keybindings for changing TODO state.

Altered items:
simple-call-tree-org-todo-states,
simple-call-tree-org-priority-levels, simple-call-tree-get-item,
simple-call-tree-mode, simple-call-tree-invert,
simple-call-tree-set-attribute, simple-call-tree-set-todo,
simple-call-tree-next-todo, simple-call-tree-prev-todo,
simple-call-tree-set-priority, simple-call-tree-current-function,
simple-call-tree-list-callees-recursively,
simple-call-tree-narrow-to-function, simple-call-tree-apply-command
Add workaround for outline-mode bug

Altered items:
simple-call-tree-set-attribute
New commands & keybindings simple-call-tree-up/down-priority

New options: simple-call-tree-org-highest-priority
             simple-call-tree-org-lowest-priority
Also rename simple-call-tree-org-todo-states to simple-call-tree-org-todo-keywords

Altered items:
simple-call-tree-org-highest-priority,
simple-call-tree-org-lowest-priority,
simple-call-tree-org-todo-states, simple-call-tree-org-todo-keywords,
simple-call-tree-mode, simple-call-tree-set-todo,
simple-call-tree-next-todo, simple-call-tree-prev-todo,
simple-call-tree-set-priority, simple-call-tree-up-priority,
simple-call-tree-down-priority
Add commands and keybindings for setting tags

Altered items:
simple-call-tree-org-tag-alist,
simple-call-tree-tags-to-string, simple-call-tree-string-to-tags,
simple-call-tree-mode, simple-call-tree-get-tags,
simple-call-tree-set-attribute, simple-call-tree-set-tags,
simple-call-tree-insert-item
simple-call-tree-get-tags --> simple-call-tree-get-attribs

Also add keybinding to simple-call-tree-set-todo

Altered items:
simple-call-tree-mode, simple-call-tree-analyze,
simple-call-tree-get-attribs
Use chars instead of strings for priority attribute

Also add checks for invalid args to simple-call-tree-set-attribute

Altered items:
simple-call-tree-set-attribute, simple-call-tree-up-priority,
simple-call-tree-down-priority
Bugfix: handle nil attributes in simple-call-tree-set-attribute

Also finish simple-call-tree-set-priority

Altered items:
simple-call-tree-set-attribute, simple-call-tree-set-priority, simple-call-tree-insert-item
Code for attribute faces and bugfixs

Add extra arg for simple-call-tree-get-item

Altered items:
simple-call-tree-org-todo-keywords,
simple-call-tree-org-todo-keyword-faces,
simple-call-tree-org-highest-priority,
simple-call-tree-org-lowest-priority, simple-call-tree-org-tag-alist,
simple-call-tree-get-item, simple-call-tree-tags-to-string,
simple-call-tree-mode, simple-call-tree-invert,
simple-call-tree-set-attribute, simple-call-tree-next-todo,
simple-call-tree-prev-todo, simple-call-tree-up-priority,
simple-call-tree-down-priority, simple-call-tree-set-tags,
simple-call-tree-current-function,
simple-call-tree-list-callees-recursively,
simple-call-tree-insert-item, simple-call-tree-narrow-to-function,
simple-call-tree-invert-buffer, simple-call-tree-apply-command
Fix simple-call-tree-jump-to-function to land in correct place

Altered items:
simple-call-tree-jump-to-function
Fix simple-call-tree-jump-to-function

Make it check font to account for cases where there is a variable
and a function with the same name.

Altered items:
simple-call-tree-get-function-at-point,
simple-call-tree-jump-to-function
Allow remove TODO state with commands

Altered items:
simple-call-tree-set-todo, simple-call-tree-next-todo,
simple-call-tree-prev-todo
New sort functions and stubs for marking functions & face options

Also rename simple-call-tree-sort-alphabetically to simple-call-tree-sort-by-name
Also stubs for face options

Altered items:
simple-call-tree-default-sort-method, simple-call-tree-org-tag-faces,
simple-call-tree-org-priority-faces, simple-call-tree-mode,
simple-call-tree-set-attribute, simple-call-tree-build-tree,
simple-call-tree-sort-alphabetically, simple-call-tree-sort-by-name,
simple-call-tree-sort-by-position, simple-call-tree-sort-by-todo,
simple-call-tree-sort-by-priority, simple-call-tree-sort-by-size,
simple-call-tree-store-state, simple-call-tree-mark,
simple-call-tree-unmark, simple-call-tree-mark-by-pred,
simple-call-tree-mark-regexp, simple-call-tree-mark-tag,
simple-call-tree-get-marked, simple-call-tree-apply-to-marked,
simple-call-tree-set-todo-marked,
simple-call-tree-set-priority-marked, simple-call-tree-add-tag-marked,
simple-call-tree-remove-tag-marked, simple-call-tree-set-tags-marked,
not
simple-call-tree-sort-by-num-descendants

Rename sort-by-num-children to sort-by-num-descendants
and fix it so that it counts descendants at a given depth.
Also fix simple-call-tree-sort to let bind variable `invertedtree'
around call to sort predicate to indicate whether we are sorting
the inverted tree or the uninverted tree.
Also change some keybindings to reflect new names.

Altered items:
simple-call-tree-default-sort-method, simple-call-tree-mode,
simple-call-tree-set-priority, simple-call-tree-build-tree,
simple-call-tree-sort, simple-call-tree-count-descendants,
simple-call-tree-sort-by-num-children,
simple-call-tree-sort-by-num-descendants
New command simple-call-tree-goto-func

Altered items:
simple-call-tree-marked-items, simple-call-tree-get-attribs,
simple-call-tree-set-attribute, simple-call-tree-build-tree,
simple-call-tree-goto-func, simple-call-tree-jump-to-function,
simple-call-tree-mark
Basic marking commands, and a few fixes.

Also some keybinding changes.

Altered items:
hl-line, simple-call-tree-mode, simple-call-tree-mark-face,
simple-call-tree-get-function-at-point,
simple-call-tree-compare-items, simple-call-tree-goto-func,
simple-call-tree-toggle-narrowing, simple-call-tree-mark,
simple-call-tree-unmark, simple-call-tree-unmark-all,
simple-call-tree-outline-show, simple-call-tree-outline-hide, not
Change outline-magic requirement to outshine

Altered items:
outline-magic, outshine, simple-call-tree-mode,
simple-call-tree-outline-show
Remove simple-call-tree-outline-show/hide

Can't be bothered to implement these, normal show-children/hide-subtree
are fine.

Altered items:
simple-call-tree-outline-show, simple-call-tree-outline-hide
Bugfix: make sure subtree is rehidden after changing attribute

Altered items:
simple-call-tree-set-attribute
Bugfix: simple-call-tree-compare-items

Also use replace-match instead of replace-regexp in simple-call-tree-mark
to make it much faster.
Finish simple-call-tree-toggle-marks and simple-call-tree-mark-by-name
Remove simple-call-tree-get-marked
Start simple-call-tree-mark-by-source

Altered items:
simple-call-tree-compare-items,
simple-call-tree-mark
simple-call-tree-toggle-marks, simple-call-tree-mark-regexp,
simple-call-tree-mark-by-name, simple-call-tree-mark-by-source,
simple-call-tree-get-marked