per request project rules caching

## Some benchmarks

| action                              | before load(ms)   | after load(ms) |
| --------------------------------- |:------------------------:| -------------------:|
| project#index                  | 243, 276, 265       | 182, 167, 190 |
| project#tree#index          | 245, 239, 234       | 199, 224, 236 |
| project#commits#index   | 536, 525, 578      | 471, 500, 506 |
| project#issues#index      | 496, 532,458       | 357, 331, 392 |
| project#merge_request#show | 258, 270, 260  | 218, 220, 204 |

same for all project pages