Reimplement ItemAttributes using std::forward_list
Fix attribute check in market