Merge pull request #23 from infinityb/master

A bunch of breaking changes over the past few weeks
Merge pull request #24 from infinityb/master

Fix breaking changes
Fix accumulated breaking changes, rebase from master
Add get nearest photons to KDNode
GI WIP
cloned opt
if-let
Add iterator for k-d tree