Added documentation using markdown, added API documentation generation.