ask and ye shall recieve (from a requstTree)

you request crafting from a requestTree, not a crafting template.
also, make most of RequestTreeNode private, or protected, including
constructors.

code simplifcation: RequestTreeNode constructor now creates sub-requests
also.
RequestTreeNode only exposes *type* of internal request, not count. (no
chance of other things messing with it when we don't expose the real
item)

all the different request types, except for liquid, now go through the 1
function.

that liquid function is asking for a refactor, as it calls
getLiquidProviders, something the root tree shouldn't care about.
remove many un-needed casts, and add a few optional @Overrides for clarity

also remove a bunch of unneeded includes