Big Port: UnicodeUtil, byte to sbyte

Java's byte is signed, so changed ported code to use sbyte instead.
Port: Version
Port: Placeholders for VirtualMethod and WeakIdentityMap
Port: Util.Automaton in progress
Port: Automaton/SortedIntSet
Port: Add RunAutomatons and UTF32ToUTF8
Port: Add CompiledAutomaton
Port: Add DaciukMihovAutomationBuilder
Port: Added FST classes

Ported the following: Builder, Outputs, ByteSequenceOutputs, FST
Port: Util.Fst.CharSequenceOutputs
Port: IntSequenceOutputs
Merge remote-tracking branch 'jamesblair/lucene_4_3_0' into lucene_4_3_0
Port: PairOutputs
Port: NoOutputs
Merge remote-tracking branch 'jamesblair/lucene_4_3_0' into lucene_4_3_0
Port: more Automaton classes
Port: check in csproj
Merge remote-tracking branch 'jamesblair/lucene_4_3_0' into lucene_4_3_0
Port: Add SpecialOperations