Fixed the code that checks whether the current state has been seen before, either in the frontier or the explored lists. A sort of quick-and-dirty fix using the `underscore` library's `any` function. This will probably be the hottest of the framework and so may require some attention in the future.
Resolved an issue with the asynchronous execution: it is now actually asynchronous and not a direct call to another function. There appears to be a bug in the unit testing library that doesn't support usage of `process.nextTick`, but for now this has been worked around by using the less efficient `setTimeout callback, 0` function. The search algorithm also now supports multiple step paths and caveats identified around that have been documented in the code (regarding state copying). Unit tests for the above have been written.
Updated the mechanism by which users can specify their custom functions and begun creating unit tests for the `search` class. All tests currently pass, but the search algorithm currently only works for simple environments where every state is a goal state.
Added an initial `Search` class with an outline of the code structure. Hooks for the client to register the various customised functions have also been put in place. Nothing has been tested, however; it is just a skeleton framework to be built upon.
Updated the `package.json` file with extra properties that weren't included in the templated version: keywords and directories. Also modified the supported `node` version.