improve .gitignore

split .gitignore into global, server and client
extract sheetmusic services to its own file
extract profile and shelf services
extract auth and forum services
update service injection references

all or nothing
refactor remaining api calls in APIService into SheetmusicService
remove unused test cases
profile page comments, scrollspy for sheetmusic page
sheetmusic page scrollspy
profile page comments, scrollspy for sheetmusic page
add uploads section for profile page
separate comment list into a directive
fix profile comments and uploads section, remove api.service.js
split component files into model/ view/ and service/ directories