Regex child search

It is now possible to search the children of the current node. This is a
non-cached on the fly search so regex MATCH is supported.

The choice of match rather than search is a performance tradeoff. Its
not hard to use a .* if you are prepared to take the hit...

E.g to iterate through instances of LoadCSV (regardless of template
parameters):

    |main> searchchildren CSV<.*>::LoadCSV.*
     --> CallgrindCallTree::CallgrindCallTree(std::string const&)/CSV<int, std::string, Path>::LoadCSV(BinaryReader) : 115264814 / 1 (115264814)
         CallgrindCallTree::LoadCosts(std::string const&)/CSV<int, long>::LoadCSV(BinaryReader) : 10241080 / 1 (10241080)
         CallgrindCallTree::LoadCalls(std::string const&)/CSV<int, int, int, long>::LoadCSV(BinaryReader) : 21348087 / 1 (21348087)
    There are 2 more results
Merge branch 'master' of github.com:Grauniad/Profiler