Fix bug where .DS_Store and such in the station would be recognized.

Also chomp the .rb from the filename.
Remove some uses of inject(..) to build up objects. Replace with each_with_object.
Match @ and hash: as operators.

The original operators and hash: can be combined.
Support hash: searches. Use @ in place of & for intersections.

hash: searches simply find all indexed files whose hashes begin with a
given string of characters. So, if you wanted all files whose hashes
began with 'a', you'd search hash:a or hash:A (all hashes should be
lowercase).

The @ operator is just a synonym for the intersection operator and is
intended to replace it at some point. It's just there to be friendlier
to the shell, though if your shell also treats @ as something special,
then I'm not entirely sure what else to use. Might add named operators,
like intersect: and union: and subtract: in the future as well.
Force all file hashes to be lowercase.
fixup! Support hash: searches. Use @ in place of & for intersections.
Replace inject with each_with_object.

This is a little trickier for sets because they don't have destructive
equivalents for all methods -- namely, intersection is missing, so it's
recreated with a select! call.
Add list command.
Version 1.0.2

- Added @ operator synonym for & (intersection).
- Added hash: operator. Can be combined with other operators, like
  @hash:7 or +hash:73af9 to match all hashes beginning with the given
  string.
- Add list command (list.rb) for simply listing all files matching a
  set of tag ops. This can be convenient if you just want to know where
  something is rather than having bork pull it for you. The output lists
  both the files' hashes and locations relative to bork's working
  directory.
- Removed poor use of reduce/inject where possible.