Change ConstantPoolElement from interface to class.  Refactor all
ConstantPoolElement implementations into separate class files, and change
their constructors to accept actual types instead of index values.  Index
value is now obtained when writing the constant element structures.  Added
ConstantPool class that wraps Java ArrayList and sets the the elements index
when added.  Added method signatures for adding Utf8Info type that returns
Utf8Info type, for code brevity.
Change base package from bfjc to abfjc