Break profiling results into separate object and add demo.

Moving profiling results and analysis functions to separate results
container. Adding updated fragment_profile_demo notebooks.