added ability to decode a torrent file into a BMap
removed NullPointerException
copyright notices in files
added constructors for Torrent, required info, and preliminary sanity checks
improved IOException handling in TorrentMetainfoFiles
implemented equals for BStrings
added filemode enum
implemented basic torrent features
removed unused import in Torrent.java
correctly implemented equals() and hashCode() for BString (i hope :p)
added javadoc to FileMode
moved metainfoRequiredKeys to TorrentMetainfoFiles