MDL-41218 Object section_info calculates expensive data on demand only

Added phpdocs and unittests, removed unnecessary fields such as course and userid because they can be retrieved from modinfo