Software versions, requirements in separate tables

Put the versions for software into their own table, such that every
software can have various versions. Greater-than and less-than relations
between versions can now be made using the rank column

Jobs and Jobtypes now no longer depend on software by directly linking
to the software table, but rather by using a software requirements
table, which can optionally specify min and max versions.
Remove AJAX loader for software for Jobs

With the latest changes to the database model, this no longer works
Adapt tests to recent changes in database model
Try to fix tests on travis

Import the new models in testutil.py
Use IDTypeWork for JobType.id
Move Software related classes into software.py
There is no AgentSoftwareAssociation class anymore
Remove software filters for agent in admin if

After the recent model changes, they don't work like that anymore.
Agents now have SoftwareVersions, not Software

Change the columns in the admin interface appropriately.
Remove unused import
Correct name for logger
Remove excessive debug logs
json_from_request returns a tuple on error

Not a Response object
Software model doesn't have version field anymore
JobSoftwareRequirement now part of software module
Don't need to manually delete relations on a tag
Minor typo corrections in some docstrings
Merge pull request #87 from guidow/tag_api

Don't need to manually delete relations on a tag
Merge pull request #88 from guidow/typo_corrections

Minor typo corrections in some docstrings
Merge pull request #89 from guidow/refactor_requirements

Refactor Software, separate tables for versions, SoftwareRequirements