Add unit test for removing a dotfile with a missing target

If the remove operation is issued on a dotfile pointing to a target
that's already been removed from the repository, then the symlink should
just be removed quietly.

Re: #25
Verify symlink removal in unit test

Re: #25
Only replace existing dotfiles on remove operation

It is possible that the dotifle is removed from the repository before
the remove is issued.  In this case only the symlink is removed.

Fixes #25
Remove python 2.5 from travis-ci configuration
Move waffle and travis badges to contribute section
Fidget with the badges for the last time
Update gitignore to include .venv
Add unit test for adding a missing package

This fails because the add operation is not aware of package settings,
and therefore adds a package dotfiles as it normally would - as
a toplevel symlink.  The problem arises when a user attempts to sync and
the expected symlink layout is not as it should be.  With the force
option, this can lead to deleted files with no way to recover.

Re #20, #27
Prevent adding toplevel package directories

This change prevents users from adding toplevel package directories via
the add operation in the cli.  Until add is package-aware, allowing this
behaviour can lead to loss of configuration files if the --force option
is later used to sync.

Adding packages already-defined packages will be possible in the future,
but this patch is necessary to prevent users from reaching an invalid
state.

Re #20, #27
Update history and version number for 0.6.3
Update gitignore to exclude setuptools cruft
Update copyright year
Merge branch 'upstream'

Conflicts:
	dotfiles/core.py