Add more file support

* The renderCallback function now has a 'serveFile(path)' method,
  which looks up file information (size & mimetype) on the given
  path, caches it and transmits it to the user.

* Added the getFileInfo function, which gets basic file information
  like size & mimetype.

* Added the copyFile function, which uses /bin/cp to copy a file.

* Added the moveFile funciton, which uses copyFile but unlinks
  the original file after it's done.

* Added the castObjectId function, which will turn a valid variable
  into an ObjectId (or leaves existing ones alone), but it won't
  throw an error when the input variable is invalid. It'll just
  return false.

* Added a new String prototype methid: isHash(hashtype),
  to determine if a string is a valid hash.
  Currently only md5 and sha1 can be tested.