Remove magic that automatically updates *_version when accessed (bug 963662)

https://bugzilla.mozilla.org/show_bug.cgi?id=963662

This removes the magic that sets `_current_version` and `_latest_version` when they are `None` and accessed. Instead, we call both `update_status()` and `update_version()` on the `Addon` everytime a `File` or a `Version` is changed. It will be overkill in some cases but should make sure we always have a `status` on `Addon` that matches the attached `Version` and `File` instances.

In addition, on Marketplace, `update_status()` is different from AMO, and I had to make sure the app was fully complete before changing it to `STATUS_PENDING`.

This broke lots of tests that were cheating and setting the `Addon` in a status that wasn't coherent with its files, so I fixed those tests one by one and it appears to be working fine now.

Tests:
https://ci-addons.allizom.org/job/marketplace-build-branch/24/
https://ci-addons.allizom.org/job/amo-build-branch/45/