KCINFR-979: budget apis

This is main portion of the remaining budget & propdev apis for s2s
Why model the abstract classes in the interface? Don't we just need the concrete details in the API?