Added RC's Phantom Slot System

And replaced BC's Advanced Slot System in Advanced Crafting Tables,
Emerald Pipes and Diamond Pipes.

The advantages of the Phantom Slot System is that it uses the same
Mojang code for net sync that normal Slots do. This results in much
simpler code and the slots can be treated just like any other inventory
slot instead of all the special case code that Advanced Slot does.

The Advanced Slot System is still used in several places (Assembly
Tables, Refineries, etc...), Gates but in these cases the Slot often
contains non-ItemStacks. So I'm not going to touch them for the moment.

Additionally, I cleaned up the names of some of the classes in the
Silicon package.
Various fixes to the Laser Crafting Table

It no longer eats Golden Tickets or dupes items, yay!
Clean up var names in Laser Table
Transactors should obey isValid() for partials
Adjusted Shift code to support Phantom slots

Yes, this also was stolen from Railcraft. Its also much more robust than
the code BC was using.
Transactor Optimization

It was an O(n^2) operation to insert an item. Now its just O(n). The
functions for checking to see if a stack is valid in a slot are
expensive and should never be called more than once per slot, let alone
n^2 times (where n is the length of the inventory).

Additionally, by wrapping inventory in a slot iterator, I was able to
eliminate the need to handle FSided and VSided differently from
IInventory.
Made Inv Iterator subclasses private
Added BiomeDictionary support to Oil gen
Added BiomeDictionary support to Oil gen

Can't believe I didn't see this thing sooner.
Complete reimagining of the ACT

Renamed "Auto Workbench" to reduce confusion with the "Advanced Crafting
Table".

Once again I barrowed liberally from Railcraft. This time from the
Rolling Machine. You will recognize the new GUI.

Auto Workbenches are 100% compatible with vanilla Hoppers, or whatever
you want to use to interface with it. It no longer implements
ISpecialInventory at all. Even RP2 would work with it now.

Implemented the same "Sample Output" vs "Real Output" design that the
Rolling Machine uses. If there are enough items to craft multiple times,
it will craft automatically. But if there are only enough items for one
craft job, you must click the sample output slot to start the process.
Separating the display from the output helps reduce the complexity of
the code by a large factor.

Banned all items that can't stack or that have containers from being
used in the Auto Workbench. Supporting these types of items is the major
reason the previous version was so buggy. The Advanced Crafting Table
does a much better job with that kind of thing, use it instead.

Crafting now has a time cost. It take 256 ticks to craft an item. Unlike
the Rolling Machine, it DOES NOT require power.

Removed ability to pull from adjacent inventories. Its laggy, complex,
and unnecessary now. If you need more capacity, use a Hopper or Chute.
Added some comments
Name crafting fake players just in case
Tweaks and code cleanup
Add legacy migration to AWB

This should prevent wiping of the crafting grid on upgrade.
Smarter space check for buffer.
Changes for 3.6.0 build.
Fix pump not passing through air blocks
Merge remote-tracking branch 'remotes/upstream/master'