Moved keep alive data from prototype to an instance member.

- This way multiple connections do not share keep alive data.
Modified keep alive to utilize the lastMessageAt property.

- Removed the lastKeepAlive member from the keep alive data since it was essentially the same as the lastMessageAt property.

#2484
Modified tests to work with the new functionality of keep alive.

- I also removed several tests that no longer apply as valid tests due to the keep alive functionality changes.

#2484