Singleton pattern for sorts in java backend

ready for review
Because I refactored the method that build list terminator to ```KLabelConstant#buildListTerminator``` and that method needs a direct way to construct the list terminator (which is a KItem). We have the KLabelConstant, we have the KList, and we know the sort for sure. There is no need to re-compute it. Besides, if I call ```KItem.of``` in ```KLabelConstant#buildListTerminator```, it results in an infinite loop.