Added int64 constructor to SoyRef
Added 32 bit debug int accessor for soyrefs for good debug colouring
Fixed alignment check for opencl conversion
Added SoyStream - Interface to file or socket for writing data
UDP socket now binds to any port (0) when it connects() to a host

+ This stops auto-disconnect when it tries to read packets in update()
(as it is not bound)
SoyPacket's now use SoyRef's for types
Added SoyStream::TSocket base implementation (derivitive just needs to provide socket basically)
Added option for sockets to not send Meta header in packets
Some attempted threadsafety (still crashes on exit)
Added Sort() func to SortArray. Also added the missing Remove()
Added increment which executes multiple times to SoyRef
String no longer appends a terminator (created strings like hello\0\0\) which were messed up
Fixed isSorted to allow multiple-entries in an array
New multi-thread opencl support by way of "instances" of kernels. Support for queues

+ queues can be allocated per-thread automatically by runner
- Shader(program) reloading currently broken
Remote array can now be used against non-C arrays so we can operate of sub-sections of other arrays
Added kernel iterator-generator function to simplify execution. More blocking/non blocking options
Kernels now collect events for async data writes and wait before executing

This allows async writes without crashing!
By default executions and writes are now non-blocking
Changed heap array so it always has a heap and reverts to prcore::Heap (no new or delete)

if  assigned invalid heap (eg. array constructed before heap) it gives
out error and assigns anyway.
If heap requested and none assigned (??) then core heap returned
Removed Id from memheap
If string fails to allocate in += then bails out instead of crashing (might need more of these)