Alter simple-call-tree-invert-buffer, remove depth arg

Remove the depth arg for simple-call-tree-invert-buffer and just
use simple-call-tree-current-maxdepth instead.

Altered items:
simple-call-tree-invert-buffer
Alter mode-line message

Altered items:
simple-call-tree-mode
New function: simple-call-tree-store-state

Altered items:
simple-call-tree-store-state
Refactor simple-call-tree-invert-buffer

Use new function simple-call-tree-store-state

Altered items:
simple-call-tree-invert-buffer
Rename simple-call-tree-inverted-bufferp

Rename simple-call-tree-inverted-bufferp to simple-call-tree-inverted

Altered items:
simple-call-tree-mode, simple-call-tree-inverted-bufferp,
simple-call-tree-inverted, simple-call-tree-display-buffer,
simple-call-tree-list-callees-recursively,
simple-call-tree-store-state, simple-call-tree-invert-buffer,
simple-call-tree-change-maxdepth, simple-call-tree-visit-function
Change simple-call-tree-store-state to plist

Also refactor simple-call-tree-change-maxdepth to use
simple-call-tree-store-state

Altered items:
simple-call-tree-store-state, simple-call-tree-invert-buffer,
simple-call-tree-change-maxdepth
Use simple-call-tree-store-state in other commands

Also bugfix to simple-call-tree-store-state: can only store
some information if *Simple Call Tree* buffer exists.

Altered items:
simple-call-tree-sort-alphabetically,
simple-call-tree-sort-positionally, simple-call-tree-store-state,
simple-call-tree-change-maxdepth
New function: simple-call-tree-restore-state

Also use simple-call-tree-restore-state in
simple-call-tree-sort-alphabetically and
simple-call-tree-sort-positionally

Altered items:
simple-call-tree-sort-alphabetically,
simple-call-tree-sort-positionally, simple-call-tree-restore-state
Bugfix: simple-call-tree-get-function-at-point

Return nil if no function at point (e.g. at end of buffer)

Altered items:
simple-call-tree-get-function-at-point
Bugfix: simple-call-tree-get-function-at-point

Undo last bugfix, and make it get the function on the previous line if
it point is at the end of the buffer.

Altered items:
simple-call-tree-get-function-at-point
Bugfix: sort tree before saving state in sorting commands

Also fix simple-call-tree-invert-buffer to work with
simple-call-tree-store-state and simple-call-tree-restore-state

Altered items:
simple-call-tree-sort-alphabetically,
simple-call-tree-sort-positionally, simple-call-tree-invert-buffer
Bugfix: simple-call-tree-delete-other-windows

Fix fm dependency

Altered items:
simple-call-tree-delete-other-windows
Bugfix: simple-call-tree-delete-other-windows

unhighlight lines highlighted by fm-mode if necessary

Altered items:
simple-call-tree-delete-other-windows
Set current-maxdepth in restore-state function

Also remove commented code in sort commands

Altered items:
simple-call-tree-sort-alphabetically,
simple-call-tree-sort-positionally, simple-call-tree-restore-state
Fix outline-level in simple-call-tree-store-state

Make sure outline-level is correctly calculated in
simple-call-tree-store-state, and remove code to do this
in simple-call-tree-invert-buffer

Altered items:
simple-call-tree-store-state, simple-call-tree-invert-buffer
Make sort commands a bit more functional

No need to save state in a variable

Altered items:
simple-call-tree-sort-alphabetically,
simple-call-tree-sort-positionally
Bugfix: move to correct branch in restore-state func

Also alter simple-call-tree-change-maxdepth so that it utilizes
simple-call-tree-restore-state

Altered items:
simple-call-tree-restore-state, simple-call-tree-change-maxdepth
New option: simple-call-tree-default-maxdepth

Alter simple-call-tree-list-callers-and-functions to use this
new variable

Altered items:
simple-call-tree-default-maxdepth, simple-call-tree-list-callers-and-functions
Bugfix: simple-call-tree-get-function-at-point

When the *Simple Call Tree* buffer is narrowed the last text property
change (i.e. for the last displayed function) is not detected so use
end of line instead.

Altered items:
simple-call-tree-get-function-at-point