Feature npm

This closes a portion of #63 which has been spilt into multiple issues. It also makes steps towards #68 but at time of writing, Npm search was down.