All in one

I don't know why you not merged the previous pull request. Anyway, here is the new one. 
* I deleted all your unit tests from the `core_test.clj` in the `test/cljs/enfocus` dir. 
* I created all the border cases fot the `at` function. 
* I prepared the to do list for completing the unit testing of the `enfocus.core` namespace

Now the two series of tests are separated with a very clear motivation. Now its your turn to fix the errors in the codebase. Few of the error should be managed by supporting the `ITransform` and the `ISelector` protocols in the nil case too. Other errors can be corrected by changing the `expected` value of the test (all the `Can't find variable:` errors). Finally, there are case in which I would prefer your code raising exceptions (all the case in which the selector inside a string is not a selector).

Hope it helps