Add lockfile per namespace

Attempt to create a lock file per namespace on initialization before
creating spool file directories. Error out if there is already a lock
file in place (which means the current process is a duplicate)

Update tests to reflect this.

Also updated existing tests to call marquise_shutdown, where applicable,
to cleanup locks from tests.

Addresses issue #23 
Initialisation should go on one line, or if the one line is >76c it can be split like

```
size_t lock_path_len = prefix_len 
                               + 1 
                               + namespace_len 
                               + ext_len + 1;
```

or the like, but it's often more readable to split it up into multiple statements:

```
size_t lock_path_len = prefix_len;
lock_path_len += 1; // space for whatever character goes here
lock_path_len += namespace_len;
lock_path_len += ext_len;
lock_path_len += 1; // space for whatever this is
```

The numeric constants without comments is also a code smell, even in really simple cases like this.