Add programmatic API

Detail are in the doc. 

@arikon @scf2k 
у тебя после предыдущей проверки в `options` будет пусто только если в paths было пусто. Такая ситуация возможна?