Make creating gridfs chunks customizable

In order to make gridfs files removal efficiently, the chunks need some additional metada which can be indexed. To make it possible to create custom chunks, a new method is introduced: createChunk. This method can then be overriden based on the custom needs. The constructors are also changed to protected so that the class itself can be overriden.

Signed-off-by: Tuomas Huhtanen <github@saynomoo.com>