`getCommunityVotingPower` doesn't calculate voting Power correctly due to precision loss
In `Staking.sol`, the getCommunityVotingPower function, doesn't calculate the votes correctly due to precision loss.\\nIn getCommunityVotingPower function, the `return` statement is where the mistake lies in:\\n```\\n return \\n        (votes * cpMultipliers.votes / PERCENT) + \\n        (proposalsCreated * cpMultipliers.proposalsCreated / PERCENT) + \\n        (proposalsPassed * cpMultipliers.proposalsPassed / PERCENT);\\n```\\n\\nHere, after each multiplication by the `Multipliers`, we immediately divide it by `PERCENT`. Every time we do a division, there is a certain amount of precision loss. And when its done thrice, the loss just accumulates. So instead, the division by `PERCENT` should be done after all 3 terms are added together.\\nNote that this loss is not there, if the `Multipliers` are a multiple of `PERCENT`. But these values can be changed through governance later. So its better to be careful assuming that they may not always be a multiple of `PERCENT`.
Do the division once after all terms are added together:\\n```\\n      return \\n        ( (votes * cpMultipliers.votes) + \\n        (proposalsCreated * cpMultipliers.proposalsCreated) + \\n        (proposalsPassed * cpMultipliers.proposalsPassed) ) / PERCENT;\\n    }\\n```\\n
The community voting power of the user is calculated wrongly.
```\\n return \\n        (votes * cpMultipliers.votes / PERCENT) + \\n        (proposalsCreated * cpMultipliers.proposalsCreated / PERCENT) + \\n        (proposalsPassed * cpMultipliers.proposalsPassed / PERCENT);\\n```\\n