First pass at a vanilla url fetcher to build packages from arbitrary urls

I was needing a way to fetch from a different source than those currently available and I hate the idea of having to fork something and make a repo just for melpa packaging purposes. For example: 

http://edward.oconnor.cx/elisp/osx-plist.el 
or 
http://www.neilvandyke.org/quack/quack.el

This patch allows for a recipe like:
```lisp
(osx-plist :url "http://edward.oconnor.cx/elisp/osx-plist.el" :fetcher url)
```

It does download and build versioned package files, but still doesn't work right just yet. I wanted to get some feedback before heading too far down this route.

I fear that there could be far too many edge cases for files that don't match the package.el package format and I didn't do anything to detect and handle such files.

I don't really like the version determining used, but it kind of works.

Additionally I'd like to avoid the need for 
```lisp
(require 'url-parse)
``` 
if possible, but am not sure how.

Any feedback is welcome, even rejection if this is just not a wise course.