general update to start bringing everything in line with first version
added callback and core promise methods
added source code
added a first batch of tests
added a first batch of updated docs