Able to track down odd append() behavior

Using a unit test actually able to reproduce behavior of append()
inserting nil values into heap list.
Finally tracked down extra insertion bug

The problem seems to only occur when heap.Push() function is called; the
Push function seems to be called twice.  Checking the slice directly
after insertion everything looks normal, however once the Push() method
returns the element inserted has been shoved one further into the
array, which seems to indicate Push is getting called twice.. which
doesn't make any sense..
Updating tests and removing debug prints

Replacing heap.Push with HistoryHeap.Add to fix problem of nils being
inserted.
Abandoning the tutorial heap interface methods

Retooling the HistoryHeap functions to hold true the interface but
updating them to only work off of the message already stored in the
heap. Added functionality to find the last element in the heap without
modifying the size and Len now returns the number of elements in the
list which are not nil.
Forgot to handle and test last index edge cases
Fixed regex to pick up all the digits of back cmd

<int>!anagram command bug which only picked up a single integer from the user's message now picks up all ints.
Added boundary responces for anagram history index limits.
Adding logger to Anagram messages