seed_data: Make executable.

This is Unix - with a proper hashbang and the executable bit set,
there's no need to go around specifying the interpreter all the time.
seed_data: Allow running from arbitrary directories.

It's silly to have to `cd` into a directory to run a script; now you can
run it from the project top-level, or anywhere else you please.
seed_data: Move into function.

Now we can programmatically do the seeding from within Python;
previously to do that you'd have to `exec` the script.
seed_data: Reorganize imports per PEP8.

And alphabetize them inside the subgroups, which is not required by
PEP8, but looks nice and makes things easier to find. :)
seed_data: Simplify settings import.

Since we added __location__ in 88a5aab9, we might as well use it.
seed_data: Don't catch all Exceptions

Previously any Exception would be caught; this is problematic when the
Exception is an actual error, rather than flow control.

Now errors will get bubbled out into a stack trace, so the user can see
them.
seed_data: Delay Redis connection until we need it

It doesn't terribly matter whether this is done at the start or not, but
it's nice to keep variable initializations near where they're used.
Merge pull request #57 from iFixit/seed_data-cleanups

seed_data.py cleanups