Encoding enums allocate byte arrays once (#6071)
Encoding enums allocate byte arrays once (#6071)

## What is the goal of this PR?
To prevent allocating too many byte array unnecessarily, we create Encoding byte arrays in each Enum's constructor, and always return the same instance. This means the GC and memory allocations don't have to kick as often.

## What are the changes implemented in this PR?
* Each `Encoding` that can return `bytes()` returns the same `byte[]` object. Any upstream users of this method copies the array into larger ones, so this is safe.
lolski/grakn,graknlabs/grakn,lolski/grakn,graknlabs/grakn,lolski/grakn,graknlabs/grakn,graknlabs/grakn,lolski/grakn