Structure cleanup

Here is the PR about cleaning the structure and update the gemspec to new convetions.
This branch is rebased on the `fix UTF8 encoding` commit, so you should be able to merge it easily after the UTF8 fix if you want.

---

BTW In case you didn't know, you can now use bundle's standard rake task to deal with gems:

```
$ ruby-bencode (master) > rake -T
rake build         # Build bencode-0.8.1.gem into the pkg directory
rake install       # Build and install bencode-0.8.1.gem into system gems
rake release       # Create tag v0.8.1 and build and push bencode-0.8.1.gem to Rubygems
```
For example, once you merged this, you can do `rake release` to tag the commit, build the gem and push it to rubygems automatically.