Fix bugs in mklinks, some i3 changes

Add -n option to ln in mklinks for no dereference; without this,
executing mklinks twice would cause links to dirs to be created
inside of those dirs. Also add checks for existing non-link files.

i3 uses stacking layout. I'm just gonna try this out. Also set machine
specific defaults to those for my desktop. Sorry laptop, you'll need
a local-only branch.