Add BorrowRequest model.
Display BorrowRequest list view to logged in users.

Currently, My Requests link is shown in header only to logged in users.
However, anonimous users can still access /requests URL and see all
requests.
Give logged in users to borrow book from other users.

Add Borrow button on book details page if book is not currently
borrowed, otherwise disable button. When user clicks on Borrow
button, BorrowRequest is created.
Bugfix - user can borrow multiple books.

This fixes an error where, BorrowRequest and User were defined as
one-to-one relationship. In that scenario, user was only able
to borrow a single book. Many-to-one relationship on BorrowRequest
solves this problem.
Display only logged in user's requests at "My Requests" page.

Also, improve display of the requests - display book name and
request status.
Bugfix - wrong redirect for anonimous users on borrow.

Don't use hardcoded value for book pk, but redirect dynamically
based on the actual book pk.
Display my and other people requests at "My Requests" page.

"My Requests" page displays separately requests other people have
for "My Books" and requests "I" have made for other people's books.
Don't allow users to borrow their own books.

Currently, implemented only in the template, by hidding the button.
For more robust solution, also check request parameters in view.
Add logged in username in the header.

This is a must have feature when testing in different browsers
with various usernames. Move "My Requests" to header dropdown menu.