Code cleanup

This pull request contains mostly cosmetic changes implemented while I was walking through the low-level code. Some minor bugs were fixed as well (`YQueue.Back` worked correctly only in conjunction with `Unpush`, `YQueue` chunk size can't be less than 2). 

Most changes are variable names refactoring and documentation comments. Additionally I've removed `AtomicLong` and `AtomicInteger` classes since .NET has a built-in support for them (`Interlocked` class).

Added unit tests for `YQueue<T>`.