Refactor and introduce smart search history

From now, the search history behaves different depending on the context.
For files mode it holds separated entries. For single tab mode it mixes
that tab entries with file ones. For all tabs, it mixes all tabs and
files.

Also, the g:ctrlspace_max_searches limit has been removed.