New Makefile Structure

This Makefile looks a little more clean to me, and allows for more sensible user-control in the build.

I tested it with and without custom install locations, and it seemed to work on my machine just fine.
The only downside is that if a user runs `make uninstall` they would have to pass the same variable path
that they did during `make install`. (Of course just something like `sudo rm $(which solid)` would uninstall it correctly for them.)