Почему 4 элемента списка не умещаются в строку?
Потому что li используются в качестве inline-block`ов, которые имеют небольшой отступ. Добавьте ul св-во font-size:0; и a нужный font-size (https://jsfiddle.net/u0hggbnz/1/)
Если вам все же надо использовать пункты списка как inline-block, то это легко решается следующим финтом, но зависит от метода формирования вашего списка - формируется он движком (тогда пилить ядро) или формируется вашим плагином - тогда все в ваших руках!Поясню на примерах, смотри:
1. Неправильный вариант, браузер заменит переносы строк в коде пробелом и прощай ширина!<ul>
	<li>бла-бла-бла</li>
	<li>бла-бла-бла</li>
	<li>бла-бла-бла</li>
</ul>
2. И даже так неправильно:<ul>
<li>бла-бла-бла</li>
<li>бла-бла-бла</li>
<li>бла-бла-бла</li>
</ul>
3.1 А вот так прокатит:<ul>
<li>бла-бла-бла</li><li>бла-бла-бла</li><li>бла-бла-бла</li>
</ul>
3.2 Или вот так прокатит, не помню уже, сам проверишь:<ul><li>бла-бла-бла</li><li>бла-бла-бла</li><li>бла-бла-бла</li></ul>