RefCount improvements

Removing some error codes and replacing them with ProgrammingError.
RefCount is such an internal and basic structure that there is no
reason that any operation should fail, any problems are caused by
misuse.
Modifying List after RefCount modifications

Some minor adjustements were required after the removal of error
codes from RefCount.
Modifying Buffer after RefCount modifications

After the removal of error codes in RefCount, Buffer needed to be
adjusted accordingly.
Modifying Queue after RefCount modifications.