Refactor messages services. Issue: #489
More refactoring and better error handling. Issue: #489
Implement showing unallocated messages for district admin if flag is true. Issue: #489