move some specs into shared specs
add better authentication

- better specs for both when logged in and when not logged in
- make more use of shared specs
refactor
adapt seeds.rb to new changes
better authentication with specs