Implement persistence of recent dir history

Store recent dirs in a gob encoding format
in ~/.rd-history . The dir history is currently
saved every 5 seconds.

Other changes:

 * Change client/server comms to use a UNIX socket
   rather than TCP to avoid possible port conflicts.

 * Increase the delay between polling for process
   info from 2 to 5 seconds.

 * Only store one entry in-memory per dir path rather
   than storing every dir use event.
Document cdr command and support multiple pattern args

cdr now supports multiple pattern arguments, these are all
passed directly to rd.

This means that 'cdr foo bar' is now supported where the dir
path must contain both 'foo' and 'bar'
Update README

Add better intro and section on bash integration
Add an autostart config file for the rd daemon

Creating a symlink to this in ~/.config/autostart will
result in the daemon being auto-launched at session startup
Collapse multiple results with the same matches in a common prefix

When multiple results have a common prefix and the matches are all
contained within the prefix, return only one result for the prefix
rather than one for each of the matches.

eg. Given:

 /home/user/foo
 /home/user/bar
 /home/user/baz

A search for 'user' will return:

 /home/user

The ID assignment has also been changed to reset the IDs after each
query to reduce the amount of typing needed to navigate to results
from the match list.