update changelog
add release date
add new common function spec_from_line with tests
adding tests
use new spec_from_line() to parse files
update changelog
split new test into smaller test functions
I now understand namespace packages a little better
improve variable names
Stop update_prefix from breaking hard links

As we can see [here](https://github.com/conda/conda/blob/master/conda/install.py#L179), if a package has hard links that contain `prefix_placeholder`, the hard links will be broken because `os.unlink` is being explicitly called to wipe out the old version of the file. Opening the file with `wb` as the mode automatically truncates the file to zero bytes anyway, so this was unnecessary.

Without this fix, some packages (e.g., `automake`) failed to work in some cases because only one name for a given inode/file was being updated, and then the link was broken, leaving the other files with `/opt/anaconda1ananconda2anaconda3` in them.
Merge pull request #622 from dan-blanchard/patch-1

Stop update_prefix from breaking hard links
update changelog
add new module
Py3k fixes
Fix things for Python 3
no need to use lower keys
formating
allow new the new version matching functionality on command line, fixes issue #624
add command being run to history file
minor simplification