Updated documentation, mostly http -> https changes

Also:
- changed http to https in the code
- changed header underlines in the documentation to match the header length
diff --git a/doc/reference.rst b/doc/reference.rst
index ce9c1b9..d1b0b6d 100644
--- a/doc/reference.rst
+++ b/doc/reference.rst
@@ -1,11 +1,11 @@
 Reference
-==================================================
+=========
 
 This is the class and function reference. For more usage information
 see the :ref:`usage` page.
 
 Functions
---------------------------------------------------
+---------
 
 .. autofunction:: rsa.encrypt
 
@@ -19,7 +19,7 @@
 
 
 Classes
---------------------------------------------------
+-------
 
 .. note::
 
@@ -38,7 +38,7 @@
     :inherited-members:
 
 Exceptions
---------------------------------------------------
+----------
 
 .. autoclass:: rsa.pkcs1.CryptoError(Exception)
 
@@ -50,7 +50,7 @@
 .. index:: VARBLOCK (file format)
 
 Module: rsa.bigfile
---------------------------------------------------
+-------------------
 
 .. warning::
 
@@ -69,7 +69,7 @@
 .. _VARBLOCK:
 
 The VARBLOCK file format
-++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++
 
 .. warning::
 
@@ -95,11 +95,11 @@
 efficiently encode an arbitrarily long integer.
 
 .. _Protobuf:
-    http://code.google.com/apis/protocolbuffers/docs/encoding.html#varints
+    https://code.google.com/apis/protocolbuffers/docs/encoding.html#varints
 
 
 Module: rsa.core
---------------------------------------------------
+----------------
 
 At the core of the RSA encryption method lie these functions. They
 both operate on (arbitrarily long) integers only. They probably aren't