Added dartdoc, made _generateHash return a String

This change adds dartdoc comments and makes _generateHash return a String. This way _generateHash is solely responsible for generating and returning the Hash. As a result of that setting the image url is now moved to the constructor.