source_tree(): UPDATED STRUCTURE - deploy_dep/is_self attrs + new opts

Split 'hard' into 'hard'/'deploy_dep' which now have different meanings
(i.e. they are not always the same). deploy_dep considers
'is_deferrable' and hard no longer does. Also, deploy_dep is set for
view deps (when deploy_depends_on is set). The SQLT Parser now uses
deploy_only => 1 (new option) instead of hard_only => 1.

Also added 'is_self' attr and self references can now be included by
setting new 'include_self' option. When this option is off (default) the
is_self attr is excluded altogether.

Finally, added new general-purpose 'include_check' coderef option to
make it easy to programatically tweak the structure any way the caller
wants. (See the POD for details). This option may be overkill, but it
doesn't hurt anything and is currently being used in tests to show where
'hard' and 'deploy_dep' now differ. It has been quite handy for
debugging so I decided to leave it in as an official option.