Add a general node searching function for any geometric types

as titled
what happens to this vector when ```getMeshNodeIDForPoint()``` returns a null-value?
is it necessary to make this ```std::vector< boost::optional<std::size_t> >``` ?
(sorry if this is a stupid question.)