Вы не проверяете есть ли у parentElement предыдущий элемент. Если его нет, то previousSibling = null, а у null нет textContent.
Надо как-то так:
var el = e.target.parentElement.previousSibling;
if(el) Store.removeBook(el.textContent);
else ...
UPD: Проблема в другом - между td есть пустые текстовые элементы.
Store.removeBook(e.target.parentElement.previousSibling.previousSibling.textContent);