Search not performed until VRFs loaded

A prefix search parsed from URI is now not performed until the selected
VRFs have been fetched from the web server.
Begin using pushState & popState

The NIPAP web UI now uses pushState and popState to update the browser
history when the search string is modified.

Part of #208
Cleared up handling of 'explicit' variable

The variable 'explicit' was sometimes handled as a global variable and
sometimes passed to functions. Cleared up it's behaviour a little; now
it's always handled as a global variable but can be set by passign an
argument to the performPrefixSearch function.

This code needs refactoring, badly...
Differentiate between pageload and popstate

Google Chrome and Firefox differs in how the history API handles a page
load. Firefox emits a 'pageload' event, while Chrome emits both a
'pageload' and a 'popstate' event. Added code from
http://stackoverflow.com/questions/6421769/popstate-on-pages-load-in-chrome
which tries to differentiate between the popstate event which is emitted
by Chrome when first entering a page to the one which is emitted when
the user uses the back/forward buttons of the browser.

So far it catches most occurencies, but not all, which results in the
page being loaded twice and a first access to the prefix list page
performs an explicit search with an empty search string.

Part of #208
Removed performPrefixSearch from pageshow handler

...as it'll be called when the VRF list has been returned. Also modified
when the setSearchPrefixURI is called from performPrefixSearch.

This seems to strike the correct balance on when to update URI and when
to perform search. Apparantly using the back button to jump from another
page to the prefix list does not trigger the popstate event in Firefox,
but now that seems to be handled correctly...

Fixes #208 \o/
Merge branch 'plist_state'