Fixed the behavior of BCF2Utils.toList() when it's given an array

 * Old version returned a List with a single element, which was the provided array.  This broke BCF writing, in particular when a FORMAT annotation used arrays instead of Lists
 * Made toList generic, rather than returning a List<Object>
 * Removed the redundant BCF2FieldEncoder.toList()
 * Added unit tests