fixed a bug in swap which ignored cases + added equals and hashCode
added case-handling for empty array
added Convert cipher