rules: add edit source operation
rules: improve error handling for source
rules: better error handling

This patch fix the usage of raise function in the source.update()
function and also switch to urllib2 to get a real handling of
HTTP error code like 404.
rules: moving rules implies bumping rev

If a rule is moved from one .rules file to another, revision is
bumped by rules writers like EmergingThreats.  Thus it is possible
to remove the check of category equality. This boosts performance
a lot.