Add student role

Student model added. It has a polymorphic association with User thus can sign on, have sessions, etc. It has some extended attributes as can be seen in the schema and specs.
The `!` indicates a destructive operation. Meaning it doesn't simply return a copy of the object, it actually CHANGES the object and then returns it.