Updated importing students

I have updated the import mechanism to auto-generate a displayname
when one is not given in the import file. This is so that we can
ensure that a display name is shown when a user submits a question
or answer and when a user profile is viewed.
implemented ranking mechanism (generate scores)

The ranking mechanism is used when a certain criteria is met.
Currently, the condition is each answer must be judged at least
once. During the process, three values are generated which are:

rounds - number of times the answer has been compared to another
         answer
wins - number of times the answer has won against another answer
score - the ACJ algorithm computed score. For more details refer
	to the research paper

Currently the score is printed (rounded to three decimal places)
next to the answer's post date. The score used is also the default
criteria.

In the future, when we have implemented the ability to have multiple
criteria, we'll need a way to allow users to sort the answers by
the preferred criterion.

Notes:
- Still need to sort the answers in order of their score.
- When we increase the python version for the application to be run
on, we'll need to update some of the code that uses itertools in
models.py. Eg. change ifilterfalse to filterfalse
- also the database needs to be recreated for this implementation to
work. I've updated the Scores table.
ranked the answers by their scores

The question api has been modified to return not only the question
but also the list of related criteria (criteriandcourses) and also
the number of enroled students. The answers are also returned in
descending order by their posted date. However, if scores are
available the answers will be reordered in descending order by
their score

A dropdown menu has been created to allow users to change the order
by changing to their preferred critera. However, currently we only
have the one basic criterion and not have the ability to add more,
so hid the dropdown menu from the users to avoid confusion. The scores
has also been displayed in a format to allow it to change when the
crierion change in the dropdown menu.

Note:
- a minor bug has been noticed. when some answers do not have scores
but others do, the ones that do not have scores will appear on the top.
This will have to be fixed. This bug will not appear if we have separate
answering and judging periods.

Tests have also been modified to reflect the changes made to the questions
api.
made changes to classlist api to only return enroled users